写点东西记录一下自己的心路历程,也方便回顾,其实就和笔记一样,还可以写点自己最近的心情 蛮好的 今天晚上重温一下注解的一些知识,一会儿结合反射写点东西 闲暇之余玩一玩
概念:Annotation 就是标记,标注的意思
简单的形容一下 即:
@介绍(成功的商人)
马云
那么这样就很好理解, 注解就类似于标签的意思,当然在java中还有更多的作用
那么java提供了4个元注解给我们:
@Target :表示该注解可以用于什么地方,可能的ElementType参数有:
CONSTRUCTOR:构造器的声明
FIELD:域声明(包括enum实例)
LOCAL_VARIABLE:局部变量声明
METHOD:方法声明
PACKAGE:包声明
PARAMETER:参数声明
TYPE:类、接口(包括注解类型)或enum声明
@Retention: 表示需要在什么级别保存该注解信息。可选的RetentionPolicy参数包括:
SOURCE:注解将被编译器丢弃
CLASS:注解在class文件中可用,但会被VM丢弃
RUNTIME:VM将在运行期间保留注解,因此可以通过反射机制读取注解的信息。
@Document:将注解包含在Javadoc中
@Inherited: 允许子类继承父类中的注解
这四个注解 大多数博客都有,这里只是标记一下 那么现在定义一个注解:
//注解的位置必须在方法,类名上
@Target(value = {ElementType.METHOD,ElementType.TYPE })
//保留策略为运行时,一般与反射配合使用来使用注解
@Retention(value = RetentionPolicy.RUNTIME)
public @interface Annotation01 {
//这里不是方法 String为类型 value为属性名
//default "" ——在使用注解的时候就默认为null 括号不需要
String value() default "";
}