1.
Java可以通过反射获取注解内容
2.内置注解
@Override:检查该方法是否是重写方法;
@Deprecated:标记过时方法;
@SuppressWarnings:指示编译器去忽略注解中声明的警告
3.元注解
@Retention:标识这个注解怎么保存,是只在代码中,还是编入class文件中,或者是在运行时可以通过反射访问(定标记注释的存储方式);
RetentionPolicy.SOURCE - 标记的注释仅保留在源级别中,并由编译器忽略;
RetentionPolicy.CLASS - 标记的注释在编译时由编译器保留,但Java虚拟机(JVM)会忽略;
RetentionPolicy.RUNTIME - 标记的注释由JVM保留,因此运行时环境可以使用它
@Documented: 标记这些注解是否包含在用户文档中;
@Target:标记这个注解应该是哪种 Java 成员;
ElementType.TYPE 可以应用于类的任何元素;
ElementType.FIELD 可以应用于字段或属性;
ElementType.METHOD 可以应用于方法级注释;
ElementType.PARAMETER 可以应用于方法的参数;
ElementType.CONSTRUCTOR 可以应用于构造函数;
ElementType.LOCAL_VARIABLE 可以应用于局部变量;
ElementType.ANNOTATION_TYPE 可以应用于注释类型;
ElementType.PACKAGE 可以应用于包声明;
@Inherited: 标记这个注解是继承于哪个注解类(默认 注解并没有继承于任何子类)
4.注解的作用:
给jvm看的,给机器看的;
代替配置文件