Java >> Tutoriel Java >  >> Tag >> class

Quelles sont les différences entre classe abstraite et interface ?

1) Classe abstraite (abstraite)

1) abstract est un modificateur d'accès qui s'applique à la classe ou aux méthodes.

2) abstract (modificateurs de mots clés) est utilisé pour définir une classe abstraite.

Exemple :

abstract class AbstractClass{
	void printHello(){
		System.out.println("Say Hello to everyone");
	}
	void printHi();
}

3) Lorsque nous parlons de mise en œuvre partiellement (pas complètement). Cela signifie que nous pouvons implémenter quelques méthodes dans une classe (si vous le souhaitez).

4) La classe Abstact peut contenir des méthodes abstraites et concrètes. (c'est-à-dire aucune restriction si vous définissez des méthodes concrètes dans une classe abstraite, c'est pourquoi nous appelons une implémentation partielle).

5) Chaque méthode présente dans la classe abstraite n'a pas besoin d'être publique et abstraite.

6) Si nous parlons des modificateurs applicables aux méthodes de classe abstraites (aucune restriction de modificateurs sur les méthodes de classe abstraites car il n'est pas nécessaire que cette méthode soit publique ou abstraite).

7) La variable déclarée dans la classe abstraite n'a pas besoin d'être publique, statique et finale.

8) Nous pouvons volontiers déclarer n'importe quel modificateur sur une variable de classe abstraite (c'est-à-dire sans restriction).

9) Il n'est pas nécessaire d'effectuer l'initialisation au moment de la déclaration (c'est-à-dire que la variable de classe abstraite peut être non finale) de la variable de classe abstraite.

10) Nous pouvons déclarer le constructeur dans la classe abstraite et il s'exécutera au moment de la création de l'objet de la classe enfant.

2) Interface (interface) en java

1) interface est un modificateur de mot-clé qui ne s'applique qu'à interface.

2) interface (modificateurs de mots clés) est utilisé pour définir une interface.

Exemple :

interface Interface{
	void printHello();
	void printHi();
}

3) Lorsque nous ne parlons pas d'implémentation, cela signifie que nous ne pouvons implémenter aucune des méthodes dans une interface (c'est-à-dire qu'il s'agit d'une abstraction complète).

4) l'interface ne peut pas contenir de méthodes concrètes (c'est-à-dire restreint si vous définissez des méthodes concrètes dans une interface, c'est pourquoi nous appelons une abstraction complète).

5) Chaque méthode présente dans une interface doit être publique et abstraite.

6) Si nous parlons des modificateurs applicables aux méthodes d'interface (Restrictions des modificateurs sur les méthodes d'interface car il est nécessaire que cette méthode soit publique et abstraite).

7) La variable déclarée à l'intérieur de l'interface doit être publique, statique et finale.

8) Nous ne pouvons pas déclarer avec plaisir des modificateurs sur la variable d'interface (c'est-à-dire restreint comme privé, protégé, transitoire et volatile).

9) Il est nécessaire d'effectuer l'initialisation au moment de la déclaration (c'est-à-dire que la variable d'interface est finale) de la variable d'interface.

10) Nous ne pouvons pas déclarer le constructeur dans l'interface car la création d'un objet d'interface n'est pas possible.

En savoir plus :

  • Comparer array et ArrayList en Java.
  • Java - Différence entre float et double.
  • Java - Différence entre lancer et lancer.
  • Java - Différence entre les méthodes next() et nextLine().

Balise Java