自定义注解的语法要求:
需要使用@interface来申明
@Tatget作用域
@Retention
@Inherited 允许之类继承
@Documented javadoc注解信息
笔记





元註解Inherited

元註解Retention

元註解Target

自定義重點1

元注解,声明作用域、运行时或编译时、是否允许子类继承、生成javadoc时是否包含注解
@Documented
@Inherited
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE})
自定义注解的语法要求
元注解
成员类型是受限的,合法的类型包括原始类型及String, Class, Annotation, Enumeration
如果注解只有一个成员,则成员名必须取名为 value(),在使用时可以忽略成员名和赋值号(=)
注解类可以没有成员,没有成员的注解称为标识注解
自定义注解的语法要求
自定义注解的语法要求
自定义注解的语法要求
注解的注解(元注解)
使用自定义注解
解析注解
元注解
Documented(Javadoc生产时)
元注解
Inherited(是否可以子类继承)
元注解
Retention(生命周期)
元注解
Target(作用域)
(1)成员类型是受限的,合法的类型包括原始类型及
String, Class, Annotation, Enumeration
(2)如果只有一个成员的时候,只能取名为value()
(3)注解类可以没有成员
自定义注解的语法要求
(1)@interface关键字
(2)成员以无参数无异常方式声明
(3)可以用default为成员制定一个默认值
元注解
Target({ })注解的作用域,有
CONSTRUCTOR 构造方法声明
FIELD 字段声明
LOCAL_VARIABLE 局部变量声明
METHOD 方法声明
PACKAGE 包声明
PARAMETER 参数声明
TYPE 类,接口
@Retention( ) 生命周期
SOURCE 只在源码显示,编译时会丢弃
CLASS 编译时会记录到class中,yunxing0
@Inherited 标识性的元注解,允许子类继承
自定义注解的语法要求
使用@interface关键字定义注解。
成员以无参无异常方式声明(无异常指,不能throws Exception)
可以用default为成员指定一个默认值
成员类型是受限的,合法的类型包括原始类型及String,Class,Annotation,Enemeration
如果注解只有一个成员,则成员名必须取名为value( ),在使用时可以忽略成员名和复制号(=)
注解类可以没有成员,没有成员的注解成为标识注解