注解有检查的作用
内置注解:
@Override,表示一个方法声明打算重写超类中的另外一个方法声明。
@Deprecated,表示不鼓励程序员使用这样的元素。
@SuppressWarnings:用来抑制编译时的警告信息,需要添加正确的参数才能正常使用。
元注解:(@interface是用来自定义注解的)
@Target,表示注解可以用在什么地方
@Retention,表示注解在什么地方还有效,runtime>class>sources
@Documented,表示是否将注解生成在javadoc中
@Inherited,子类可以继承父类的注解
自定义注解:
分析:
- @interface用来声明一个注解,格式:public @interface注解名{定义内容}
- 其中的每一个方法实际上是声明了一个配置参数
- 方法名称就是参数的名称
- 返回值类型就是参数的类型(返回值类型只能是基本类型,Class,String,enum)
- 可以通过default来声明参数的默认值
- 如果只有一个参数成员,一般参数名为value
- 注解元素必须要有值,我们定义注解元素时,经常使用空字符串、0作为默认值