注解反射之自定义注解
自定义注解主要是要掌握四个元注解@Target, @Retention,@Documented,@Inherited,他们的意思分别如下

下面是一个具体的例子,注意注释定义中的
String name()
并不是定义一个name方法,而是定义一个name属性,该属性的类型是String
package com.loubin; import java.lang.annotation.*; public class Main { public static void main(String[] args) { User user = new User(); user.setName("哈哈"); System.out.println(user.getName()); } } @MyClassAnnotation(name = "User") class User{ @MyFieldAnnotation(name = "张三") String name; public String getName() { return name; } public void setName(String name) { this.name = name; } } @Target(value = ElementType.TYPE) @Retention(value = RetentionPolicy.RUNTIME) @Documented @Inherited @interface MyClassAnnotation{ String name(); } @Target(value = ElementType.FIELD) @Retention(value = RetentionPolicy.RUNTIME) @Documented @Inherited @interface MyFieldAnnotation{ String name(); }
定义注解的一些注意事项


浙公网安备 33010602011771号