jdk1.5+
元
- 数据之于元数据:数据是每一行信息,元数据是描述数据的数据。
- 代码之于元代码:java中实现程序功能的都是代码,注解就是元代码。
- 注解之于元注解:元注解就是描述注解的注解
常见的注解:
- @Override: 描述并限定方法必须是重写的方法
- @Deprecated: 描述被修饰的对象已经弃用
- @SuppressWarnings: 一支警告
元注解:
- @Targer:描述注解可以描述的对象
- @Retention: 描述注解的生命周期,存活到哪个阶段(源码,字节码文件,运行时)
- @Documented: 描述注解会存在于生成的doc文档
- @Inherited: 描述注解可以继承
- @Repeatable:描述注解可以重复使用在同一目标
自定义注解:
使用@Inteface描述
@Targer({ElementType.METHOD, ElementType.FIELD})
public @ingerface MyAnnotation{
//注解中的普通参数,如果不赋值,会报错。
//如果参数名是value,且只有一个参数,赋值时,不需要指定参数
String value();
//直接中有默认的参数,如果不赋值,会使用默认值
int number() default 1;
}
使用自定义注解:
public class demo01{
@MyAnnotation(value = "hello", number = 123)
private String name;
}