L'interface en Java est un type de référence et un ensemble de méthodes. Les interfaces fournissent un moyen de spécifier les méthodes qu'une classe doit implémenter, mais ne spécifient pas l'implémentation spécifique de ces méthodes. Lorsqu'une classe implémente une interface, elle doit fournir des implémentations concrètes de toutes les méthodes abstraites de l'interface. Une interface peut hériter d’une autre interface, ce qui signifie qu’une interface peut hériter des méthodes d’autres interfaces. Toutes les méthodes d'une interface sont implicitement abstraites, toutes les méthodes d'une interface sont publiques et une interface ne peut pas contenir de champs d'instance. Une classe peut implémenter plusieurs interfaces, qui peuvent être implémentées par la classe ou héritées par d'autres interfaces.
Le système d'exploitation de ce tutoriel : système Windows 10, ordinateur Dell G3.
En Java, une interface est un type de référence et un ensemble de méthodes. Plus précisément, une interface est une classe complètement abstraite qui contient uniquement la déclaration de méthodes abstraites mais aucune implémentation des méthodes. Les interfaces fournissent un moyen de spécifier les méthodes qu'une classe doit implémenter, mais ne spécifient pas l'implémentation spécifique de ces méthodes.
En Java, vous pouvez utiliser le mot-clé interface pour définir une interface. Par exemple :
public interface MyInterface { void myMethod(); // 这是一个抽象方法,没有方法体 }
Lorsqu'une classe implémente une interface, la classe doit fournir des implémentations concrètes de toutes les méthodes abstraites de l'interface. Utilisez le mot-clé Implements pour indiquer qu'une classe implémente une ou plusieurs interfaces. Par exemple :
public class MyClass implements MyInterface { @Override public void myMethod() { // 具体实现 } }
Une interface peut hériter d'une autre interface, ce qui signifie qu'une interface peut hériter des méthodes d'autres interfaces. Utilisez le mot-clé extends pour indiquer la relation d'héritage entre les interfaces. Par exemple :
public interface AnotherInterface extends MyInterface { void anotherMethod(); }
Toutes les méthodes d'une interface sont implicitement abstraites, même si elles ne sont pas déclarées à l'aide du mot-clé abstract.
Toutes les méthodes d'une interface sont publiques, même si elles ne sont pas déclarées à l'aide du mot-clé public.
Les interfaces ne peuvent pas contenir de champs d'instance (c'est-à-dire des champs non statiques). Ils ne peuvent contenir que des champs constants statiques (implicitement publics, statiques et finaux).
À partir de Java 8, les interfaces peuvent contenir des méthodes par défaut et des méthodes statiques. Les méthodes par défaut fournissent une implémentation par défaut d'une méthode qui peut être remplacée de manière sélective par la classe d'implémentation. Les méthodes statiques ne peuvent être appelées que via des interfaces, et non via des classes d'implémentation.
Une classe peut implémenter plusieurs interfaces, ce qui permet d'implémenter certaines fonctionnalités de l'héritage multiple sans la complexité de l'héritage multiple.
Les interfaces peuvent être implémentées par des classes et peuvent également être héritées par d'autres interfaces.
L'interface est généralement utilisée pour définir un ensemble de méthodes liées qui peuvent être implémentées par des classes non liées. Cela permet aux développeurs de créer du code enfichable car les classes d'implémentation peuvent être remplacées dynamiquement au moment de l'exécution.
Les interfaces sont largement utilisées dans les API et les frameworks Java, tels que les frameworks de collection, les écouteurs d'événements, etc.
Les interfaces et les classes abstraites sont toutes deux utilisées pour définir un comportement abstrait, mais elles présentent quelques différences clés. Une classe abstraite peut contenir des implémentations concrètes de méthodes abstraites et non abstraites, tandis qu'une interface ne peut contenir que des déclarations de méthodes abstraites (et à partir de Java 8 peut contenir des méthodes par défaut et statiques). Une classe ne peut hériter que d’une seule classe abstraite, mais elle peut implémenter plusieurs interfaces.
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!