1. Distinguish between ordinary methods and abstract methods
(Recommended tutorial: java introductory tutorial)
In java, When a class method is modified by the abstract keyword, the method is called an abstract method, and the class in which the abstract method is located must be defined as an abstract class. When a method is defined as an abstract method, it means that the method will not have a specific implementation, but will be implemented through method overriding in a subclass of the abstract class.
2. The syntax format for defining abstract methods:
[访问修饰符]abstract<返回类型><方法名>([参数列表])
abstract keyword indicates that the method is defined as an abstract method.
3. Comparison between ordinary methods and abstract methods
Abstract methods need to be modified with the abstract keyword, but ordinary methods do not;
Ordinary methods have method bodies, but abstract methods do not method body.
4. Distinguish between ordinary classes and abstract classes
In Java, when a class is modified by abstract, the class is called an abstract class.
5. The difference between ordinary classes and abstract classes
Abstract classes need to be modified with the abstract keyword, but ordinary classes do not;
Ordinary classes can be instantiated, but abstract classes cannot be instantiated.
6. Code example:
Parent class
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(); }
Subclass
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+"."); } }
Test:
package demo.chongwu; public class Test { public static void main(String[] args) { Pet pet =new Dog("布尔","拉布拉多"); pet.print(); } } 输出结果: 我的名字是布尔我是一只拉布拉多.
Description:
By abstracting the print method and rewriting the print method of the parent class in the subclass, you can instantiate the subclass to obtain the subclass object, and call the subclass method through the subclass object to output the subclass class information. Otherwise, if you do not do this, the abstract class cannot be instantiated directly, and the correct subclass information will not be output.
(Video tutorial recommendation: java video tutorial)
7. Advantages and limitations of abstract classes and abstract methods
Advantages:
The methods that have been implemented in the abstract class can be used by its subclasses, so that the code can be reused;
Provides abstract methods for subclasses and provides subclasses with their own uniqueness.
Limitations of abstract classes:
The methods of the parent class are not necessarily universal, because the methods of the subclass are special;
When the subclass inherits the abstract class of the parent class, write The methods that come out may have code duplication.
The above is the detailed content of Detailed introduction to java abstract classes. For more information, please follow other related articles on the PHP Chinese website!