Annotation
为程序做出解释,可以被其他程序读取(通过反射)
内置注解
@Override 强制重写检查
@SuppressWarnings(“…”) 压制警告信息
Unchecked warnings, specified by the string "unchecked".
Deprecation warnings, specified by the string "deprecation".
Removal warnings, specified by the string "removal".
Preview warnings, specified by the string "preview".
@Deprecated 标注已经过时的代码
元注解
负责注解注解,Java有4个元注解
@Target 注解范围
@Retention 在什么级别保存注释信息,有关其生命周期(SOURCE<CLASS<RUNTIME)
@Document 注解将被保存在javadoc中
@Inherited 子类可以继承父类该注解
自定义注解
用@interface声明
import java.lang.annotation.*;
class Test{
@MyAnnotation(name="哆啦A梦", id=110, schools=["二中", "武大"])
public void test(){}
}
@target(value=[ElementType.METHOD, ElementType.CLASS])
@Retention(value=[RetentionPolicy.RUNTIME])
public @interface MyAnnotation{
//注解的参数: 参数类型 参数名() [default 默认值];
String name() default "";
int id default -1;//默认值为-1代表不存在
String[] schools();
}