黑马程序员技术交流社区

标题: 清明快乐 [打印本页]

作者: KevinJavaEE    时间: 2019-4-4 13:33
标题: 清明快乐
注解@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。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2