注解和反射:(一)注解

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=
}

你可能感兴趣的:(Java,注解)