Maison  >  Article  >  Java  >  La différence entre les interfaces et les classes Java : méthodes d'héritage et d'implémentation

La différence entre les interfaces et les classes Java : méthodes d'héritage et d'implémentation

PHPz
PHPzoriginal
2023-12-23 09:06:54917parcourir

La différence entre les interfaces et les classes Java : méthodes dhéritage et dimplémentation

Les interfaces et les classes en Java sont deux concepts importants et jouent des rôles différents dans la programmation orientée objet. Cet article analysera les différences entre les interfaces et les classes Java, se concentrera sur la comparaison de leurs caractéristiques en matière d'héritage et d'implémentation, et fournira des exemples de code spécifiques à illustrer.

1. Méthode d'héritage

  1. Méthode d'héritage de classe

Une classe est l'un des concepts de base orientés objet en Java, et elle peut être héritée par d'autres classes. Lorsqu'une sous-classe hérite d'une classe parent, la sous-classe hérite des propriétés et méthodes de la classe parent et peut utiliser ces propriétés et méthodes directement. L'héritage est déclaré à l'aide du mot-clé « étend ».

public class Animal {
    public void sound() {
        System.out.println("Animal makes a sound");
    }
}

public class Dog extends Animal {
    public void run() {
        System.out.println("Dog is running");
    }
}

Dans l'exemple ci-dessus, la classe Dog hérite de la classe Animal, elle peut donc appeler la méthode sound dans la classe Animal et possède sa propre méthode run.

  1. Méthode d'héritage d'interface

L'interface est un autre concept important dans la programmation Java. Elle définit un ensemble de méthodes qui doivent être implémentées, mais ne contient pas le code d'implémentation réel. Une classe peut utiliser les méthodes définies par l'interface en implémentant l'interface. Les interfaces sont déclarées à l'aide du mot-clé "implements".

public interface Drawable {
    void draw();
}

public class Circle implements Drawable {
    public void draw() {
        System.out.println("Circle is being drawn");
    }
}

Dans l'exemple ci-dessus, la classe Circle implémente l'interface Drawable, donc la méthode draw dans l'interface doit être implémentée. De cette façon, la classe Circle peut avoir la fonction de la méthode draw.

2. Méthode d'implémentation

  1. Méthode d'implémentation d'interface

En Java, une classe peut implémenter plusieurs interfaces, définissant ainsi des méthodes dans plusieurs interfaces dans une seule classe.

public interface Interface1 {
    void method1();
}

public interface Interface2 {
    void method2();
}

public class MyClass implements Interface1, Interface2 {
    public void method1() {
        System.out.println("Implementing method1");
    }

    public void method2() {
        System.out.println("Implementing method2");
    }
}

Dans l'exemple ci-dessus, la classe MyClass implémente les deux interfaces Interface1 et Interface2, les méthodes définies dans ces deux interfaces doivent donc être implémentées.

  1. Comment implémenter une classe

Une classe n'a pas les caractéristiques d'implémenter une interface. Elle ne peut qu'hériter mais pas implémenter. Une classe ne peut hériter des propriétés et des méthodes d'une classe parent que via le mot-clé extends.

public class Animal {
    // ...
}

public class Dog extends Animal {
    // ...
}

Dans l'exemple ci-dessus, la classe Dog hérite de la classe Animal et obtient ainsi les propriétés et méthodes définies dans la classe Animal.

En résumé, il existe des différences significatives en matière d'héritage et d'implémentation entre les interfaces et les classes en Java. Les classes obtiennent principalement les propriétés et les méthodes des classes parentes par héritage, tandis que les interfaces définissent un ensemble de méthodes qui doivent être implémentées via l'implémentation. Cet article fournit des exemples de code spécifiques pour illustrer les différences entre les deux, en espérant que les lecteurs pourront mieux comprendre la différence entre les interfaces et les classes en Java.

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