java内置注解、元注解和自定义注解
注解的作用:
1.生成文档
2.跟踪代码依赖性
3.编译时进行格式检查
-------------------------------------------------------------------------------------------------
Java的5个内置注解(基本注解):
@Deprecated 过时
用于过时的类、方法、成员变量等
@Override
覆盖父类方法
@SuppressWarning
阻止警告
@FunctionaInterface
指定接口必须为函数式接口
@SafeVarargs
一直"堆污染警告"
-------------------------------------------------------------------------------------------------
4种元注解: 能注解到注解上的注解,能用在其他注解上的注解。
@Retention 保留期,能设定注解的存活时间
RententionPolicy:SOURCE 源代码阶段
RententionPolicy:CLASS 到编译阶段
RententionPolicy:RUNTIME 到运行阶段
eg:
@Rentention(RententionPolicy:RUNTIME) public @interface Xxx{}
@Documented
将注解中的元素包含到Javadoc中
@Target
限定注解能运用的地方
ElementType.ANNOTATION_TYPE 注解
ElementType.COUNSTRUCTOR 构造方法
ElementType.FIELD 属性
。。
@Inherited
标明注解是能被继承的,例如B继承了A,A添加了注解,那么B也会继承同样的注解
-------------------------------------------------------------------------------------------------
自定义注解
语法: public @interface xxx{}
使用:@xxx
注解只有成员变量,没有方法
eg:
public @interface Xxx{
int a();
char b();
}
//使用
@Xxx(a=1,b="b")
可有默认值,eg: public int a() default 2;
若属性只有value,使用时可采用简写:
public @interface Xxx{
String value();
}
@Xxx("11")