P1 什么是注解
注解 Annotation
作用
- 不是程序本身,但可以对程序作出解释。(这点和**注释Comment没区别)
- 可以被其他程序(如:编译器)读取
格式
// @注释名
@Override
// 还可以添加一些参数值
@SuppressWarnings(value="unchecked")
应用场景
附加在 package class method field...
上面,相当于添加了额外辅助信息。通过 反射机制 编程实现对这些元数据的访问。
P2 内置注解
@Override
@Deprecated ['deprəkeɪt]
@SuppressWarnings [sə’pres] vt. 压制;镇压
P3 元注解 meta-annotation ▶️
负责注解其他注解;
Java 定义了 4 个标准的 meta-annotation 类型,对其他annotation作说明:
@Target
@Retention n. 保存;记忆力:表示注解在什么地方有效
RUNTIME > CLASS > SOURCE
@Documented
@Inherited
P4 自定义注解 ▶️
//注解可以显式赋值,如果没有默认值,就必须给注解赋值
@MyAnnottation(name="...")
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnottation {
//注解的参数(而非函数):参数类型 + 参数名()
String value() default ""; //只有一个参数,使用value,在使用注解时无需写 value=
}