Les interfaces et classes Java sont deux concepts importants dans la programmation orientée objet. Il existe quelques différences entre les interfaces et les classes dans la définition des variables et des méthodes membres. Cet article présentera les différences entre les deux à travers des exemples de code spécifiques.
Tout d’abord, jetons un coup d’œil à l’interface. Une interface est un type de données abstrait qui contient uniquement la déclaration des méthodes sans l'implémentation spécifique des méthodes. Une interface définit les méthodes qu'une classe doit implémenter, mais ne peut pas définir de variables membres. Les méthodes de l'interface sont publiques et abstraites par défaut, il n'est donc pas nécessaire de déclarer le modificateur d'accès de la méthode dans l'interface.
Ce qui suit est un exemple de code pour une interface :
public interface Animal { public void eat(); public void sleep(); }
Dans le code ci-dessus, Animal est une interface qui définit une méthode eat() et une méthode sleep(). Toute classe qui implémente l'interface Animal doit implémenter ces deux méthodes.
L'avantage de l'interface est qu'elle fournit un moyen découplé de séparer les détails d'implémentation et la déclaration de méthode. De cette manière, différentes classes peuvent implémenter la même interface, atteignant ainsi l'objectif de réutilisation du code.
Ensuite, jetons un coup d’œil aux cours. Une classe est un type de données concret qui peut contenir des définitions de variables et de méthodes membres. Une classe peut définir ses propres variables et méthodes membres selon ses besoins, et peut avoir plusieurs constructeurs, notamment des méthodes ordinaires, des méthodes statiques, des méthodes privées, etc. Les classes peuvent hériter d'autres classes et implémenter une ou plusieurs interfaces.
Ce qui suit est un exemple de code pour une classe :
public class Dog implements Animal { private String name; public Dog(String name) { this.name = name; } public void eat() { System.out.println(name + "正在吃东西"); } public void sleep() { System.out.println(name + "正在睡觉"); } public void bark() { System.out.println(name + "正在汪汪叫"); } public static void main(String[] args) { Dog dog = new Dog("旺财"); dog.eat(); dog.sleep(); dog.bark(); } }
Dans le code ci-dessus, Dog est une classe qui implémente l'interface Animal. Il contient une variable membre name et trois méthodes : eat(), sleep() et bark(). En plus d'implémenter les deux méthodes dans l'interface Animal, la classe Dog ajoute également une méthode bark() unique. Un objet Dog est créé dans la fonction principale et trois méthodes sont appelées pour les tests.
Il est à noter qu'une classe peut implémenter une ou plusieurs interfaces, mais ne peut hériter que d'une seule classe parent. Si une classe hérite de la classe parent et implémente l'interface en même temps, alors la relation d'héritage doit être placée au premier plan et la relation d'implémentation de l'interface à l'arrière, par exemple :
public class Cat extends AnimalClass implements AnimalInterface { // ... }
Dans le code ci-dessus, la classe Cat en premier hérite de la classe parent AnimalClass, puis implémente interfaceAnimalInterface.
En bref, les interfaces et classes Java diffèrent dans la façon dont elles définissent les variables et les méthodes membres. Les interfaces peuvent uniquement définir des signatures de méthodes, mais pas les variables membres ; les classes peuvent définir leurs propres variables et méthodes membres et peuvent implémenter une ou plusieurs interfaces. Les interfaces et les classes sont des concepts importants dans la programmation orientée objet. Il est très important pour les développeurs Java de maîtriser leur utilisation.
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!