java基础-注解

2024-03-08

定义

jdk5.0引入,以“@注解名”在代码中存在,在不改变原有逻辑的情况下, 在源文件中潜入一些补充信息
注解可以在类编译、运行时进行加载,体现不同的功能
可以修饰包、类、构造器、方法、成员变量、参数、局部变量

常见作用

生成文档相关的注解
在编译时进行格式检查
跟踪代码依赖性,实现替代配置文件功能

JDK内置的三个基本注解

@Override

限定重写父类方法,只能用于方法

@Deprecated

用于表示修饰的元素已过时

@SuppressWarnings

抑制编译器警告

示例

class Person {
	public void eat(){
	}
}
class Student extends Person {
	@Override
	public void eat(){
	}
}

自定义注解

以@SuppressWarnings为参照,进行定义即可

public @interface MyAnnotation {
	// default是默认值
	String value() default "method";
}

元注解

对现有的注解进行解释说明的注解

@Target
    用于描述注解的使用范围
    值是一个数组
@Retention
    描述注解的声明周期
        SOURCE
            生成的字节码文件中不包含
        CLASS
            字节码文件中包含,运行时没有,不会加载内存中
        RUNTIME
            运行时在
@Documented
    表明这个注解应该被javadoc工具记录
@Inherited
    允许子类继承父类中的注解


{/if}