Maison> Java> javaDidacticiel> le corps du texte

La différence entre les interfaces et les classes Java : définition des variables et méthodes membres

王林
Libérer: 2023-12-23 10:59:23
original
860 Les gens l'ont consulté

La différence entre les interfaces et les classes Java : définition des variables et méthodes membres

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(); }
Copier après la connexion

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(); } }
Copier après la connexion

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 { // ... }
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!