JAVA 注解

特别推荐这篇文章: https://blog.csdn.net/briblue/article/details/73824058

注解

声明

public @interface TestAnnotation {

}

运用

@TestAnnotation

public class Test {

}

元注解

注解的注解 (注意,这些是修饰注解的注解)

元标签有.

@Retention

注解存活的时间

- RetentionPolicy.SOURCE 注解只在源码阶段保留,在编译器进行编译时它将被丢弃忽视。

- RetentionPolicy.CLASS 注解只被保留到编译进行的时候,它并不会被加载到 JVM 中。

- RetentionPolicy.RUNTIME 注解可以保留到程序运行的时候,它会被加载进入到 JVM 中,所以在程序运行时可以获取到它们

@Retention(RetentionPolicy.RUNTIME)

public @interface TestAnnotation {

}

@Documented

文档

 

@Target

 

想用在什么地方

ElementType.ANNOTATION_TYPE 可以给一个注解进行注解

ElementType.CONSTRUCTOR 可以给构造方法进行注解

ElementType.FIELD 可以给属性进行注解

ElementType.LOCAL_VARIABLE 可以给局部变量进行注解

ElementType.METHOD 可以给方法进行注解

ElementType.PACKAGE 可以给一个包进行注解

ElementType.PARAMETER 可以给一个方法内的参数进行注解

ElementType.TYPE 可以给一个类型进行注解,比如类、接口、枚举

@Inherited

 

如果子类中没有定义标签,那么子类就会有这个类的标签。

@Repeatable

 

 

注解的属性

public @interface TestAnnotation {

    public int id() default -1;

    public String msg() default "Hi";

}

常用注解

@depreecated.

@Override

@SuppressWarnings阻止warning

 

 

你可能感兴趣的:(Java)