A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© KevinJavaEE 初级黑马   /  2019-4-4 13:33  /  749 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

注解@interface

作用分类:编写文档/代码分析/编译检查

预定义注解:@Override / @Deprecated /@ SuppressWarnings

自定义注解:

                -- 定义:@interface,本质为一个接口,默认继承Annotation

                -- 属性返回值:基本数据类型 / String / 枚举 / 注解 /以上类型的数组。

                --注意: 1.定义属性时,可用default设置默认初始值,如String msg() default “I love java”;--该方法本质为一抽象方法,方法名即为属性

                               2.如果只有一个属性需要赋值,且属性名为value,则value可省略。

                               3.数组赋值,值使用{}包裹。只有一个值,{}可省略。

常用元注解:用于描述注解的注解

                --@Target:用于描述注解能够使用的位置。属性名ElementType(是一个数组),取值:TYPE / METHOD / FIELD

                --@Retention:描述注解被保留的阶段。属性名RetentionPolicy,取值:SOURCE / CLASS / RUNTIME

                --@Documented:描述注解是否被抽取到API文档中

                --@Inherited:描述注解是否被子类继承

获取/判断注解的方法:可用于Juinit

                --public <A extends Annotation> A getAnnotation(Class<A> annotationClass)

                        *如果在该元素(即对象,结合Class对象使用)存在指定类型的注释,则返回这些注释,否则返回null

                --public boolean isAnnotationPresent(Class<? extends Annotation> annotationClass)

                        * 如果指定类型的注释存在于此元素(对象)上,则返回 true,否则返回 false。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马