Maison >Java >javaDidacticiel >Élément Utiliser les interfaces de marqueur pour définir les types
Définition et objectif
Interface des marqueurs :
Définition du type :
Exemple :
public class MyClass implements Serializable { // Implementação }
Vérification du temps de compilation :
Exemple avec Serialisable :
ObjectOutputStream.writeObject(myObject); // Garante que myObject seja Serializable
Précision du marquage :
Exemple :
public interface MyMarkerInterface extends MySpecificInterface { // Sem métodos adicionais }
Exemples d'utilisation
Sérialisable :
Exemple :
public class Person implements Serializable { private String name; private int age; // Getters, setters, etc. }
Définir l'interface comme marqueur restreint :
Notes sur les marqueurs :
Exemple :
@Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) public @interface MyMarkerAnnotation { } @MyMarkerAnnotation public class MyClass { // Implementação }
Quand utiliser Marker Interface vs. Annotation du marqueur :
Utiliser l'annotation du marqueur si :
Avantages des Bullet Notes
Exemple :
@MyFrameworkAnnotation public class MyClass { // Implementação }
Décision d'utilisation
Pour définir un type :
Partie d'un framework basé sur des annotations :
Utilisez une puce.
Exemple final
public interface MyTypeMarker { } public class MyClass implements MyTypeMarker { // Implementação } public void process(MyTypeMarker obj) { // Processa apenas objetos marcados com MyTypeMarker }
Remarque sur le signet :
@Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) public @interface MyAnnotationMarker { } @MyAnnotationMarker public class MyClass { // Implementação }
Résumé
Complément
Interfaces des marqueurs :
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!