Maison  >  Article  >  Java  >  Comment implémenter des interfaces et des classes abstraites en Java

Comment implémenter des interfaces et des classes abstraites en Java

WBOY
WBOYoriginal
2024-05-05 09:12:01353parcourir

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 ;

Java 中如何实现接口和抽象类

Implémentation d'interfaces et de classes abstraites en Java

Interface (Interface)

  • Une interface est un ensemble de méthodes abstraites, qui définit les méthodes qu'une classe doit implémenter.
  • L'interface ne peut contenir aucune implémentation de méthode, uniquement une déclaration de méthode.
  • Une classe peut hériter des méthodes de l'interface en implémentant l'interface.

Interface d'implémentation :

public class Vehicle implements Drivable {

    public void drive() {
        // 驾驶车辆的实现
    }
}

Classe abstraite (classe abstraite)

  • La classe abstraite est une classe qui fournit une implémentation partielle de méthode.
  • Les classes abstraites peuvent contenir des méthodes abstraites et des méthodes non abstraites.
  • Une classe peut obtenir une partie de l'implémentation fournie par la classe abstraite en héritant de la 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn