java注解学习---元注解,注解类型,注解支持元素类型,注解基础(一)

java注解学习---元注解,注解类型,注解支持元素类型,注解基础(一)

一、JDK内置四个元注解
1、@Target 注解: 表示自定义的注解,使用的地方。
可选参数: java.lang.annotation.ElementType 中如下:
package java.lang.annotation;
public enum ElementType {
     TYPE, //适用class, interface, enum
     FIELD, //适用field
     METHOD, //适用method
     PARAMETER, //适用method上之parameter
     CONSTRUCTOR, //适用constructor
     LOCAL_VARIABLE, //适用局部变量
     ANNOTATION_TYPE, //适用annotation型态
     PACKAGE //适用package
}
补充: @Target 缺省,默认支持全部 ElementType 类型!

2、@Retention 注解:表示编译程序如何处理自定义注解。
可选参数: java.lang.annotation.RetentionPolicy 中如下:
package java.lang.annotation;
public enum RetentionPolicy {
     SOURCE, //注解不会被编译到 .class 文件中,如: @SuppressWarnings
注解
     CLASS,  / 注解会被编译到 .class文件中,但不会被JVM加载,缺省 默认这个
     RUNTIME //JVM会把注解加载到内存里,运行期间可见,所以可以通过反射读取注解的信息。
}

3、@Documented 注解:将此注解包含在Javadoc中。

4、@Inherited 注解:允许子类继承父类的注解。并不是说允许子注解类继承父注解类。

补充: JDK内置四个元注解,仅用于自定义注解时,使用!

二、JDK1.5内置三个注解
1、@Override :限定子类重写父类方法
2、@Deprecated : 标识某个方法,参数,包 等,已经过时,不建议使用!
3、@SuppressWarnings : 消除警告信息。

三、自定义注解类型
1、标记类型注解: 注解中没有元素,称为标记型注解。 如: @Inherited、 @Deprecated
2、其他类型注解: 注解中定义了元素。 如: @SuppressWarnings

四、注解元素类型
1、所有基本数据类型。 如: int ,char ,boolean , 但 不能是包装类型
2、 java.lang.String
3、 java.lang.Class
4、 java.lang.enum
5、 java.lang.Annotation
6、以上5种类型的数组: int[],String[],Class[] 等等。

注意:注解元素类型,不支持 包装类!


---- 继续学习 next :

    java注解学习---自定义注解定义java注解(二)


   java注解学习---@Inherited注解的理解学习(四)   




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章