注解(注释)Annotation类
1)jdk1.5以后提供的新特性:类中的注释有三个@Deprecated(废除)、@Override(复写)、@SuppressWarnings(压缩警告)
Deprecated类:用 @Deprecated 注释的程序元素,不鼓励程序员使用这样的元素,通常是因为它很危险或存在更好的选择。在使用不被赞成的程序元素或在不被赞成的代码中执行重写时,编译器会发出警告。
Override类:@Override表示一个方法声明打算重写超类中的另一个方法声明。
SuppressWarnings类:@SuppressWarnings指示应该在注释元素(以及包含在该注释元素中的所有程序元素)中取消显示指定的编译器警告。如果要在特定的方法中取消显示某个警告,则应该注释该方法而不是注释它的类。
注释的反射:class类中的isAnnotation()和isAnnotationPresent方法可以检测这个class对象上是否有注释并且可以获取这个注释
boolean isAnnotation():如果此 Class 对象表示一个注释类型则返回 true。
boolean isAnnotationPresent(Class<? extends Annotation> annotationClass):如果指定类型的注释存在于此元素上,则返回 true,否则返回 false。
2)注释中的注释有四个Documented类、Inherited类、Retention类和Target类
Documented类:指示某一类型的注释将通过 javadoc 和类似的默认工具进行文档化。
Inherited类:指示注释类型被自动继承。如果在注释类型声明中存在Inherited 元注释,并且用户在某一类声明中查询该注释类型,同时该类声明中没有此类型的注释,则将在该类的超类中自动查询该注释类型。此过程会重复进行,直到找到此类型的注释或到达了该类层次结构的顶层 (Object) 为止。如果没有超类具有该类型的注释,则查询将指示当前类没有这样的注释。注意,如果使用注释类型注释类以外的任何事物,此元注释类型都是无效的。还要注意,此元注释仅促成从超类继承注释;对已实现接口的注释无效。
Retention类:指示注释类型的注释要保留多久。如果注释类型声明中不存在 Retention 注释,则保留策略默认为 RetentionPolicy.CLASS。
三种取值:RetentionPolicy.SOURCE 、RetentionPolicy.CLASS 、RetentionPolicy.RUNTIME 分别对应的阶段为:java源文件,class文件,内存字节码。注意:只有元注释类型直接用于注释时,Target 元注释才有效。
Target类:指示注释类型所适用的成分。
参数:
ElementType.[
ANNOTATION_TYPE 注释类型声明
CONSTRUCTOR 构造方法声明
FIELD 字段声明(包括枚举常量)
LOCAL_VARIABLE 局部变量声明
METHOD 方法声明
PACKAGE 包声明
PARAMETER 参数声明
TYPE 类、接口(包括注释类型)或枚举声明 ]
3)注解属性:注解的属性就类似于注释的标志
注解的属性可以包括String类型,Class类型,8个基本类型,8个基本类型加String类型的数组类型,枚举类型,注释类型。
------- android培训 、 java培训 、期待与您交流! ----------