关于java:Java-注解

38次阅读

共计 1052 个字符,预计需要花费 3 分钟才能阅读完成。

注解 + 反射

注解

概念

注解很厉害,它能够加强咱们的 java 代码,同时利用反射技术能够裁减实现很多性能。它们被广泛应用于三大框架底层。传统咱们通过 xml 文本文件申明形式,而当初最支流的开发都是基于注解形式,代码量少,框架能够依据注解去主动生成很多代码,从而缩小代码量,程序更易读。

常见的元注解:@Target、@Retention,jdk 提供未来形容咱们自定义的注解的注解。

分类

l JDK 自带注解

l 元注解

l 自定义注解

JDK 注解

JDK 注解的注解,就 5 个:

l @Override

l @Deprecated 标记就表明这个办法曾经过期了,但我就要用,别提醒我过期

l @SuppressWarnings(“deprecation”) 疏忽正告

l @SafeVarargs jdk1.7 呈现,堆净化,不罕用

l @FunctionallInterface jdk1.8 呈现,配合函数式编程拉姆达表达式,不罕用

元注解

形容注解的注解,就 5 个:

l @Target 注解用在哪里:类上、办法上、属性上

l @Retention 注解的生命周期:源文件中、class 文件中、运行中

l @Inherited 容许子注解继承

l @Documented 生成 javadoc 时会蕴含注解,不罕用

l @Repeatable 注解为可反复类型注解,能够在同一个中央屡次应用,不罕用

元注解

@Target ElementType.class

形容注解的应用范畴:

l ElementType.ANNOTATION_TYPE 利用于正文类型

l ElementType.CONSTRUCTOR 利用于构造函数

l ElementType.FIELD 利用于字段或属性

l ElementType.LOCAL_VARIABLE 利用于局部变量

l ElementType.METHOD 利用于办法级

l ElementType.PACKAGE 利用于包申明

l ElementType.PARAMETER 利用于办法的参数

l ElementType.TYPE 利用于类的元素

@Retention RetentionPolicy.class

定义了该注解被保留的工夫长短,某些注解仅呈现在源代码中,而被编译器抛弃;

而另一些却被编译在 class 文件中;编译在 class 文件中的注解可能会被虚拟机疏忽,而另一些在 class 被装载时将被读取。

为何要分有没有呢?没有时,反射就拿不到,从而就无奈去辨认解决。

l SOURCE 在源文件中无效(即源文件保留)

l CLASS 在 class 文件中无效(即 class 保留)

l RUNTIME 在运行时无效(即运行时保留)

自定义注解

正文完
 0