Java 注解

注解(annotation):java提供的一种原程序中的元素关联任何信息和任何元数据的途径和方法。

annotation 英 [ænə'teɪʃ(ə)n] 美 [ˌænəˈteʃən]

Java中的常见注解

JDK自带注解

@Override 重写(=覆盖)
@Deprecated 弃用
@SuppressWarnings 忽略警告

【示例】

Person.java

public interface Person {
    public String name();
    public int age();
    @Deprecated
    public void sing();
}

Child.java

public class Child implements Person{
    @Override
    public String name() {
        return null;
    }

    @Override
    public int age() {
        return 0;
    }

    @Override
    public void sing() {
        Person p=new Child();
    }
}

Test.java

public class Test {
    @SuppressWarnings("deprecaion")
    public void sing(){
        Person p=new Child();
        p.sing();
    }
}

注解的分类

按照运行机制分

  • 源码注解:注解只在源码中存在,编译成.class文件就不存在了
  • 编译时注解:注解在源码和.class文件中都存在
  • 运行时注解:再运行阶段还起作用,甚至会影响运行逻辑的注解

按照来源分

  • 来自JDK的注解
  • 来自第三方的注解(大部分)
  • 我们自定义的注解

此外,元注解是注解的注解

解析注解

通过反射获取类、函数或成员上的运行时注解信息,从而实现动态控制程序运行的逻辑。

自定义注解

定义

@Target({})
@Retention()
@Inherited
@Documented
public @interface 注解名 {
    成员
}

使用

@<注解名>(<成员名1>=<成员值1>,<成员名2>=<成员值2>,...)

自定义注解与实例,慕课网

深入理解Java:注解(Annotation)自定义注解入门(博客园)

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