1、区分普通方法和抽象方法
(推荐教程:java入门教程)
在java中,当一个类的方法被abstract关键字修饰时,该方法就称为抽象方法,而抽象方法所在的类必须被定义为抽象类。当一个方法被定义为抽象方法后,意味着该方法不会有具体的实现,而是在抽象类的子类中通过方法重写进行实现。
2、定义抽象方法的语法格式:
[访问修饰符]abstract<返回类型><方法名>([参数列表])
abstract关键字表示该方法被定义为抽象方法。
3、普通方法和抽象方法的对比
抽象方法需要用abstract关键字修饰,普通方法不需要;
普通方法有方法体,抽象方法没有方法体。
4、区分普通类和抽象类
在java中,当一个类被abstract修饰时,该类被称为抽象类。
5、普通类和抽象类的区别
抽象类需要使用abstract关键字修饰,普通类不需要;
普通类可以实例化,抽象类不能被实例化。
6、代码示例:
父类
package demo.chongwu; public abstract class Pet { private String name = "无名氏"; private int health =100; private int love =0; //有参构造方法 public Pet (String name){ this.name =name; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getHealth() { return health; } public void setHealth(int health) { this.health = health; } public int getLove() { return love; } public void setLove(int love) { this.love = love; } //抽象方法,输出宠物信息 public abstract void print(); }
子类
package demo.chongwu; public class Dog extends Pet{ private String strain; public Dog(String name, String strain) { super(name); this.strain = strain; } public String getStrain() { return strain; } public void setStrain(String strain) { this.strain = strain; } @Override public void print() { System.out.println("我的名字是"+this.getName()+"我是一只"+this.strain+"."); } }
测试:
package demo.chongwu; public class Test { public static void main(String[] args) { Pet pet =new Dog("布尔","拉布拉多"); pet.print(); } } 输出结果: 我的名字是布尔我是一只拉布拉多.
说明:
通过将print方法抽象化,并且在子类里重写父类的print方法,这时候可以实例化子类得到子类对象,并且通过子类对象调用子类方法,从而输出子类信息。否则不这么做的话,无法直接实例化抽象类,将无法输出正确子类信息。
(视频教程推荐:java视频教程)
7、抽象类和抽象方法的优势与局限性
优势:
抽象类中已经实现的方法可以被其子类使用,使得代码可以被复用;
为子类提供了抽象方法,提供了子类具有自身的独特性。
抽象类的局限性:
父类的方法不一定通用,因为子类的方法比较特殊;
子类继承父类抽象类时,写出来的方法可能会出现代码重复的情况。
Atas ialah kandungan terperinci java抽象类的详细介绍. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)