1. Distinguer les méthodes ordinaires et les méthodes abstraites
(Tutoriel recommandé : Tutoriel d'introduction à Java)
En java, Lorsqu'une méthode de classe est modifiée par le mot-clé abstract, la méthode est appelée méthode abstraite et la classe dans laquelle se trouve la méthode abstraite doit être définie comme une classe abstraite. Lorsqu'une méthode est définie comme méthode abstraite, cela signifie qu'elle n'aura pas d'implémentation spécifique, mais sera implémentée via un remplacement de méthode dans une sous-classe de la classe abstraite.
2. Le format syntaxique pour définir les méthodes abstraites :
[访问修饰符]abstract<返回类型><方法名>([参数列表])
Le mot-clé abstract indique que la méthode est définie comme une méthode abstraite.
3. Comparaison entre les méthodes ordinaires et les méthodes abstraites
Les méthodes abstraites doivent être modifiées avec le mot-clé abstract, mais pas les méthodes ordinaires
Les méthodes ordinaires ont des corps de méthode, mais les méthodes abstraites ne méthodent pas le corps.
4. Distinguer les classes ordinaires et les classes abstraites
En Java, lorsqu'une classe est modifiée par abstract, la classe est appelée classe abstraite.
5. La différence entre les classes ordinaires et les classes abstraites
Les classes abstraites doivent être modifiées avec le mot-clé abstract, mais pas les classes ordinaires
Les classes ordinaires peuvent être instanciées ; , mais les classes abstraites ne peuvent pas être instanciées.
6. Exemple de code :
Classe parent
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(); }
Sous-classe
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(); } } 输出结果: 我的名字是布尔我是一只拉布拉多.
Instructions :
En faisant abstraction de la méthode print et en réécrivant la méthode print de la classe parent dans la sous-classe, vous pouvez instancier la sous-classe pour obtenir l'objet de sous-classe et appeler la méthode de sous-classe via l'objet de sous-classe pour afficher les informations de classe de sous-classe. Sinon, si vous ne le faites pas, la classe abstraite ne pourra pas être instanciée directement et les informations correctes de la sous-classe ne seront pas affichées.
(Tutoriel vidéo recommandé : Tutoriel vidéo Java )
7. Avantages et limites des classes abstraites et des méthodes abstraites
Avantages :
Les méthodes déjà implémentées dans la classe abstraite peuvent être utilisées par ses sous-classes, afin que le code puisse être réutilisé ;
Fournit des méthodes abstraites pour les sous-classes, fournissant à la sous-classe sa propre unicité.
Limitations des classes abstraites :
Les méthodes de la classe parent ne sont pas forcément universelles, car les méthodes de la sous-classe sont particulières
Lorsque la sous-classe hérite de la classe abstraite ; de la classe parent, écrivez Les méthodes qui sortent peuvent avoir une duplication de code.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!