java 注解
注解:
注解(Annotation) 被称之为元数据(Metadata),用于修饰解释包、类、方法、属性、构造器、局部变量等数据信息;
使用的时候前面加上:@符号,作为一个修饰符使用,三种基本的Annotation:
-
@Override:表重写父类方法,只能用于方法;
@Target(ElementType.METHOD) // 只能修饰方法;@Tartget 是修饰注解的注解,称元注解; @Retention(RetentionPolicy.SOURCE) public @interface Override { } -
@Deprecated:表某个程序元素【类和方法】过时了,为了版本升级过渡;
@Documented @Retention(RetentionPolicy.RUNTIME) @Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE}) public @interface Deprecated { } -
@SuppressWarnings:抑制警告;
- String[] value的值可以有:all ...
@Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE}) @Retention(RetentionPolicy.SOURCE) public @interface SuppressWarnings { String[] value(); } //eg @SuppressWarnings({"all"}) -
@interface:表明是注解类【在jdk 0.5加入】;
-
注解的注解叫:元注解:
- @Retention:指定注解的范围,共三种:
- SOURCE:编译器使用后,丢弃;
- CLASS:记录在class文件中,jvm 不会保留;
- RUNTME:jvm保留注解,可以通过反射获取该注解;
- @Target:指定注解可以使用的地方;
- 也存在一个 ElementType[] value,ElementType 枚举类;
- @Documented:指该注解是否会在javadoc中体现;
- @Inherited:指子类回继承父类的这个注解;
- @Retention:指定注解的范围,共三种:

浙公网安备 33010602011771号