Definition und Zweck
Marker-Schnittstelle:
Typdefinition:
Beispiel:
public class MyClass implements Serializable { // Implementação }
Überprüfung der Kompilierungszeit:
Beispiel mit Serialisierbar:
ObjectOutputStream.writeObject(myObject); // Garante que myObject seja Serializable
Markierungsgenauigkeit:
Beispiel:
public interface MyMarkerInterface extends MySpecificInterface { // Sem métodos adicionais }
Nutzungsbeispiele
Serialisierbar:
Beispiel:
public class Person implements Serializable { private String name; private int age; // Getters, setters, etc. }
Schnittstelle als eingeschränkte Markierung festlegen:
Markierungsnotizen:
Beispiel:
@Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) public @interface MyMarkerAnnotation { } @MyMarkerAnnotation public class MyClass { // Implementação }
Wann sollte die Marker-Schnittstelle verwendet werden? Markierungsanmerkung:
Markierungsanmerkung verwenden, wenn:
Vorteile von Bullet Notes
Beispiel:
@MyFrameworkAnnotation public class MyClass { // Implementação }
Nutzungsentscheidung
So definieren Sie einen Typ:
Teil eines annotationsbasierten Frameworks:
Verwenden Sie eine Aufzählungsliste.
Letztes Beispiel
public interface MyTypeMarker { } public class MyClass implements MyTypeMarker { // Implementação } public void process(MyTypeMarker obj) { // Processa apenas objetos marcados com MyTypeMarker }
Lesezeichen-Hinweis:
@Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) public @interface MyAnnotationMarker { } @MyAnnotationMarker public class MyClass { // Implementação }
Zusammenfassung
Ergänzung
Marker-Schnittstellen:
Das obige ist der detaillierte Inhalt vonElement Verwenden Sie Markierungsschnittstellen, um Typen zu definieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!