L'éditeur PHP Apple a compilé un guide nécessaire pour les entretiens Java : Foire aux questions sur les interfaces et les classes abstraites. Dans les entretiens Java, les interfaces et les classes abstraites sont des sujets importants souvent abordés. A travers cet article, vous découvrirez les différences, les scénarios d'utilisation, les avantages et les inconvénients des interfaces et des classes abstraites, etc., ce qui vous aidera à mieux préparer les entretiens et à démontrer vos capacités techniques. Plongeons dans ces questions clés pour soutenir votre entretien Java !
Q2 : Quelle est la différence entre une interface et une classe abstraite ?
Caractéristiques | Interface | Cours abstrait |
---|---|---|
Méthode | Peut uniquement être déclaré, pas mis en œuvre | peut être déclaré et mis en œuvre |
Réalisé | Doit être implémenté par la classe qui l'implémente | Peut être implémenté via des sous-classes |
Héritage multiple | Prend en charge l'héritage multiple | Ne prend pas en charge l'héritage multiple |
Instanciation | Ne peut pas être instancié | Peut instancier (mais pas créer d'objets) |
Q3 : Quand utiliser une interface ou une classe abstraite ?
Q4 : Quelle est la relation entre l'héritage multiple d'interfaces et l'héritage simple-multiple de classes abstraites ?
Q5 : méthodes par défaut et statiques dans les interfaces
Java 8 introduit les méthodes d'interface par défaut et statiques :
Code démo :
interface Drawable { void draw(); default void print() { System.out.println("Drawing..."); } static void show() { System.out.println("Show drawing..."); } } class Circle implements Drawable { @Override public void draw() { System.out.println("Drawing a circle..."); } } public class Main { public static void main(String[] args) { Drawable circle = new Circle(); circle.draw(); Drawable.print(); Drawable.show(); } }
Sortie :
Drawing a circle... Drawing... Show drawing...
Q6 : méthodes finales et statiques dans les classes abstraites
Les classes abstraites peuvent contenir des méthodes finales et statiques :
Q7 : Autorisations d'accès dans les interfaces et les classes abstraites
Toutes les méthodes et constantes de l'interface sont publiques et abstraites par défaut. Les méthodes des classes abstraites peuvent avoir différents droits d'accès, mais les méthodes abstraites sont publiques et abstraites par défaut.
Q8 : Instanciation et appel d'interfaces et de classes abstraites
Q9 : Comparaison des interfaces et des classes abstraites
Caractéristiques | Interface | Cours abstrait |
---|---|---|
Polymorphisme | Support | Support |
Méthode abstraite | Doit déclarer | peut déclarer |
Méthode spécifique | Non pris en charge | peut déclarer |
Héritage multiple | Support | Non pris en charge |
Instanciation | Ne peut pas être instancié | Peut être instancié, mais ne peut pas créer d'objets |
Débogage | Difficulté (le faire dans le cours de mise en œuvre) | Relativement facile (faites-le dans un cours abstrait) |
Flexibilité et évolutivité | Plus flexible et plus évolutif | Faible flexibilité et faible évolutivité |
Q10 : Questions pièges courantes lors des entretiens
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!