Java >> Tutoriel Java >  >> Java

Interface de marqueur en Java

Java - Interface de marqueur

Une interface avec une implémentation vide (c'est-à-dire qu'il ne contient rien de tel que des méthodes, des variables, etc.) est appelé Marker Interface.

Exemple :

interface Marker{
}

L'interface de marqueur est également connue sous le nom d'interface de balise.

Chaque fois que la classe définie par l'utilisateur ou définie par le langage implémente de tels types d'interfaces, nos objets obtiendront des fonctionnalités spéciales ou des capacités supplémentaires.

L'interface du marqueur ne contiendra aucune méthode, alors comment les objets obtiendront cette capacité spéciale. Cette chose devrait venir à l'esprit. (c'est-à-dire que JVM est uniquement responsable de fournir la capacité requise dans les interfaces de marqueur).

Nous pouvons créer notre propre interface de marqueur mais une personnalisation (modifications) de la JVM est nécessaire.

Java fournit plusieurs interfaces de marqueur. Nous allons discuter de quelques-uns d'entre eux . Il fait partie de l'API JDK et provient des différents packages.

  1. Clonable
  2. Accès aléatoire
  3. À distance
  4. Sérialisable, etc.

1) Interface clonable

Lorsque nous implémentons l'interface clonable notre objet sera en mesure de fournir exactement les mêmes objets en double.

Exemple :comment copier un objet à l'aide de la méthode clone() ?

class CloneableClass implements Cloneable {
	int i ,j;
	public static void main(String[] args) throws CloneNotSupportedException{
		CloneableClass cc = new CloneableClass();
		CloneableClass co = (CloneableClass)cc.clone();

		System.out.println("value of i " +(cc.i) + " and value of j is " + (cc.j));
		System.out.println("value of i " +(co.i) + " and value of j is " + (co.j));
	}
}

Sortie

D:\Java Articles>javac CloneableClass.java

D:\Java Articles>java CloneableClass
value of i 0 and value of j is 0
value of i 0 and value of j is 0

2) Interface d'accès aléatoire

Lorsque nous implémentons l'interface RandomAccess alors notre objet sera en mesure d'accéder à un élément aléatoire du tableau.

3) Interface à distance

Si je créez un objet et placez cet objet sur une machine et essayez d'accéder à cet objet à partir d'une autre machine, nous devrons alors passer à l'interface distante. Pour créer une interface distante, nous devrons implémenter une interface distante.

4) Interface sérialisable

Lorsque nous implémentons l'interface sérialisable nous pouvons envoyer des objets sur le réseau.


Balise Java