Anmerkungen wurden in der Version 1.5 des Java Development Kit (JDK) eingeführt oder wurden verfügbar. Anmerkungen in Java liefern weitere Informationen über die in der Codestruktur vorhandenen Daten, d. h. es handelt sich um Daten über Daten, auch Metadaten genannt.
Anmerkungen helfen bei der standardisierten Definition von Metadaten im Code. Außerdem helfen Anmerkungen dabei, Ihrem Java-Compiler Anweisungen zu geben, die er beim Kompilieren dieses Java-Codes befolgen muss.
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Bei der Verwendung der Anmerkungen verwenden wir das „@“-Zeichen und anschließend den Namen Ihrer Anmerkung, damit der Compiler sie als Anmerkung behandelt.
Es ist wichtig zu beachten, dass die Anmerkungen hinzugefügt werden können, bevor:
Wichtige Punkte, die Sie beachten sollten, sind, dass alle Annotationen die java.lang.annotation.Annotation-Schnittstelle erweitern. Außerdem dürfen Anmerkungen keine erweiterten Klauseln enthalten.
In Java gibt es integrierte Annotationen wie @Override, @Deprecated, @SuppressWarnings, die für einen bestimmten Zweck konzipiert sind und in einer der oben genannten Situationen verwendet werden, beispielsweise nur für die Klasse oder nur für Methode usw.
Code:
class Dad { public void say() { System.out.println("Do your homework"); } } public class Child extends Dad { @Override public void say(){ System.out.println("I wanna play"); } public static void main(String args[]){ Dad daddy = new Child(); daddy.say(); } }
Ausgabe:
Code:
public class Outdated { @Deprecated public void oldShow() { System.out.println("This Method is deprecated"); } public static void main(String args[]) { Outdated od = new Outdated (); od.oldShow(); } }
Ausgabe:
Es gibt fünf Arten von Meta-Anmerkungen:
Beispiel – Dokumentation und Aufbewahrung
Code:
import java.lang.annotation.*; @Retention(RetentionPolicy.RUNTIME) @interface RSample { String rentent(); } @Documented @interface DSample { String doc(); } public class MetaAnnotate { public static void main(String arg[]) { new MetaAnnotate().rentent(); new MetaAnnotate().doc(); } @RSample (rentent="Meta Info R") public void rentent() { System.out.println("Retention Policy Applied"); } @DSample(doc="Meta Info D") public void doc() { System.out.println("Code Documented with the value"); } }
Ausgabe:
Erklärung:
Es gibt drei Kategorien von Anmerkungen, und zwar wie folgt:
1. Markierungsanmerkungen – Diese Arten von Anmerkungen werden als Deklaration verwendet, um den Entwickler darüber zu informieren, worum es bei der folgenden Funktion oder Klasse geht, d. h. es werden zusätzliche Informationen über die Funktion oder Klasse weitergegeben, z. B. ob die Funktion eine andere Funktion überschreibt oder nicht die Funktion veraltet usw. @Override, @Deprecated werden als Markierungsanmerkungen betrachtet.
Beispiel: DemoAnnotation()
2. Anmerkungen mit einem einzelnen Wert – Diese Art von Anmerkung verwendet einen Wert, um den Wert für das Mitglied anzugeben, vor dem die Anmerkung platziert wird, und muss daher nicht den Namen dieses Mitglieds angeben.
Beispiel: DemoAnnotation(“custId123”)
3. Vollständige Anmerkungen – Diese Art von Anmerkung umfasst mehrere Werte, Paare und Mitglieder.
Beispiel: DemoAnnotation(category=“Toys“, value=1500)
Benutzerdefinierte Anmerkungen werden von der Benutzeroberfläche erstellt, gefolgt von einem Anmerkungsnamen, wie wir im folgenden Beispiel sehen werden.
Datei 1: Benutzerdefinierte Anmerkung definiert
import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @interface Magicians { String Wizard() default "Reynolds"; String House() default "Green"; } @Magicians public class Magician { @Magicians(Wizard = "Harry Potter", House = "Red") public String getString() { return null; } }
Datei 2: Hauptklasse, die die benutzerdefinierte Annotationsklasse aufruft
import java.lang.annotation.Annotation; import java.lang.reflect.AnnotatedElement; import java.lang.reflect.Method; public class MyCustomAnnotation { public static void main(String[] args) throws NoSuchMethodException, SecurityException { new Magician(); Class<Magician> magic = Magician.class; readAnnotationOn(magic); Method method = magic.getMethod("getString", new Class[]{}); readAnnotationOn(method); } static void readAnnotationOn(AnnotatedElement element) { try { System.out.println("\n Find annotations on " + element.getClass().getName()); Annotation[] annotations = element.getAnnotations(); for (Annotation annotation : annotations) { if (annotation instanceof Magicians) { Magicians mData = (Magicians) annotation; System.out.println("Wizard Name :" + mData.Wizard()); System.out.println("Wizard House Color :" + mData.House()); } } } catch (Exception e) { e.printStackTrace(); } } }
Ausgabe:
In diesem Artikel haben wir anhand von Beispielen erfahren, was Java-Annotationen sind und welche Typen sie haben. Wir haben Beispiele für von Java bereitgestellte integrierte Annotationen gesehen und unsere benutzerdefinierten Annotationen codiert. Wir haben Anmerkungen gesehen, die bei der Standardisierung des Codes nützlich sind und auch zum besseren Verständnis des Codes und seiner Struktur beitragen.
Das obige ist der detaillierte Inhalt vonJava-Anmerkungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!