内置注解
- @Override:定义在java.lang.Override中。表示方法重写超类的中的另一个方法声明。
- @Deprecated:定义在java.lang.Deprecated中,此注解已过时,不建议程序员使用,会出现bug。
- @SuppressWarnings:定义在java.lang.SuppressWarnings中,用来抑制警告信息。@SupportressWarnings("")需要字符串的值
- 其中进入注解的源码下面的String[] value(); 是注解的参数 不是方法。
元注解
- 元注解的作用就是负责注解其他注解,提供对其他annotation类型作说明
- 元注解在java.lang.annotation包中可以找到,它需要四个注解来定义(@Target,@Retention,@Docuemnted,@Inherited)
- @Target:用于描述注解的使用范围(可以用在什么地方 比如 类上,方法上)
- @Retention:表示在什么级别使用,比如注解的生命周期(RUNTIME>CLASS>SOURCE) 大部分都是RUNTIME。
- @Documented:表示是否将注解生成在JavaDoc文档中
- @Inherited:表示子类可以继承父类的注解。
- 一般自定义注解的时候经常使用前两个
自定义注解
- 使用@interface来自定义注解,自动继承了Java.lang.annotation.Annotation接口。
- @interface用来声明一个注解,比如 public @interface 注解名{定义内容}
- 其中default是给属性设置默认值的
- 假如注解只有一个参数,使用value当做参数,可以默认不写,只限value
元注解,自定义注解
原文:https://www.cnblogs.com/WangEn/p/14608364.html