注解:Annotation。JDK5.0引入的新技术
注解的作用:
①不是程序本身,可以对程序作出解释
②可以被其他程序读取
注解格式:@注释名。此外还可以添加一些参数值
//例
@SuppressWarnings(value="unchecked")
注解可以在哪里使用?
可以附加在package,class,method,filed等上面,相当于给他们添加了额外的辅助信息,可以通过反射机制编程实现对这些元数据的访问
内置注解:
@Override | 定义在java.lang.Override中,用于修饰方法,表示一个方法声明打算重写超类的另一个方法声明 |
@Deprecated | 修饰方法,属性,类,表示不鼓励程序员使用这样的元素,通常因为它很危险或者存在更好的选择 |
@SuppressWarnings | 用来抑制编译时的警告信息,需要添加一个参数才能使用 |
@Override
@Deprecated
@SuppressWarnings
如果定义一个元素未被使用,会出现Variable is never used的警告
在方法前加入@SuppressWarnings("all")可以抑制警告信息
@SuppressWarnings也可以加在类前面
元注解:meta-annotation类型,负责注解其他注解, 用来对其他annotation类型作说明
@Target | 用于描述注解的使用范围 |
@Retention | 用于描述注解的声明周期 SOURCE<CLASS<RUNTIME |
@Document | 说明该注解被包含在javadoc中 |
@Inherited | 说明子类可以继承父类中的该注解 |
定义一个元注解:
@Target:表示注解可以用在哪些地方
@Retention:定义注解的周期,一般设置为RUNTIME表示运行时有效
@Document表示是否将注解生成在JAVAdoc中
@Inherited子类可以继承父类的注解
自定义注解:
@interface自定义注解,自动继承了java.lang.annotation.Annotation接口
带默认值的参数: