什么是注解
Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。
我们可以通过代码反射来获取到注解的内容,然后做自定义处理。
如何自定义注解
target:注解可以使用的对象
rentention:注解存在的地方,runtime表示一直。
@Target({ElementType.FIELD})@Retention(RetentionPolicy.RUNTIME)public @interface MyReflect {String type() default "ignore";int age() default 27;}
如何使用自定义注解
Class<User> userClass = User.class;Field name = userClass.getDeclaredField("name");# 获取注解MyReflect annotation = name.getAnnotation(MyReflect.class);System.out.println(annotation.type());System.out.println(annotation.age());
私有变量赋值
import java.lang.reflect.Field;public class ReflectionTest {public static void main(String[] args) throws Exception {PrivateTest pt = new PrivateTest();Class<PrivateTest> clazz = PrivateTest.class;Field field = clazz.getDeclaredField("name");field.setAccessible(true);field.set(pt, "world");field.setAccessible(false);System.out.println(pt.getName());}}
