La différence entre l'implémentation des interfaces et des classes abstraites en Java est la suivante : interface : fournit une collection de méthodes abstraites et la classe implémente les méthodes dans l'interface ; classe abstraite : fournit une implémentation partielle de la méthode et la classe hérite de la classe abstraite pour obtenir une implémentation partielle ; l'interface ne peut définir que des signatures de méthode, et non une implémentation ; les classes abstraites peuvent contenir des méthodes abstraites et des méthodes non abstraites ; les classes héritent des méthodes dans les interfaces en implémentant les interfaces et obtiennent une implémentation partielle fournie par les classes abstraites ;
Interface (Interface)
Interface d'implémentation :
public class Vehicle implements Drivable { public void drive() { // 驾驶车辆的实现 } }
Classe abstraite (classe abstraite)
Implémenter une classe abstraite :
public class Car extends Vehicle { @Override public void drive() { super.drive(); // 其他特定的驾驶车辆实现 } }
Cas pratique :
Créer une interface et une classe abstraite :
interface Drivable { void drive(); } abstract class Vehicle { public abstract void drive(); public void start() { // 公共方法的实现 } }
Créer une classe qui implémente l'interface :
public class Bike implements Drivable { @Override public void drive() { // 驾驶自行车 } }
Créez une classe qui hérite la classe abstraite Catégorie :
public class Truck extends Vehicle { @Override public void drive() { // 驾驶卡车 } }
Utilisation :
Drivable bike = new Bike(); bike.drive(); Vehicle truck = new Truck(); truck.drive(); truck.start();
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!