Heim >Java >javaLernprogramm >Implementierungslösung für benutzerdefinierte Java-Annotationsschnittstellen
Java-Anmerkungen sind einige an den Code angehängte Metainformationen, die von einigen Tools zum Parsen und Verwenden während der Kompilierung und Laufzeit verwendet werden und der Erklärungs- und Konfigurationsfunktion dienen.
Anmerkungen haben und können keinen Einfluss auf die eigentliche Logik des Codes haben, sie spielen nur eine unterstützende Rolle. Im Paket java.lang.annotation enthalten.
1. Meta-Annotation
Meta-Annotation bezieht sich auf die Annotation von Annotationen. Einschließlich @Retention @Target @Document @Inherited vier Typen.
1.1. @Retention: Definieren Sie die Aufbewahrungsrichtlinie von Anmerkungen
@Retention(RetentionPolicy.SOURCE) //注解仅存在于源码中,在class字节码文件中不包含 @Retention(RetentionPolicy.CLASS) //默认的保留策略,注解会在class字节码文件中存在,但运行时无法获得, @Retention(RetentionPolicy.RUNTIME)//注解会在class字节码文件中存在,在运行时可以通过反射获取到1.2. @Target: Definieren Sie den Zweck von Anmerkungen
@Target(ElementType.TYPE) //接口、类、枚举、注解 @Target(ElementType.FIELD) //字段、枚举的常量 @Target(ElementType.METHOD) //方法 @Target(ElementType.PARAMETER) //方法参数 @Target(ElementType.CONSTRUCTOR) //构造函数 @Target(ElementType.LOCAL_VARIABLE)//局部变量 @Target(ElementType.ANNOTATION_TYPE)//注解 @Target(ElementType.PACKAGE) ///包1.3. Gibt an, dass die Annotation in Javadoc eingefügt wird.
1.4 Unterklassen können die Annotation in der übergeordneten Klasse erben.
Das Folgende ist ein Beispiel für eine benutzerdefinierte Annotation
Java-Code
3 Klasse
@Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface HelloWorld { public String name() default ""; }
4. Java-Reflexionsmechanismus kann dabei helfen, Anmerkungen zu erhalten:
public class SayHello { @HelloWorld(name = " 小明 ") public void sayHello(String name) { System.out.println(name + "say hello world!"); }//www.heatpress123.net }
Mehr Java Artikel zu benutzerdefinierten Annotationsschnittstellen-Implementierungslösungen finden Sie auf der chinesischen PHP-Website!