本文主要是介绍笛子的Java系列总结——注解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
注解(Annotation)
概述与理解
- 从 JDK 5.0 开始, Java 增加了对元数据(MetaData) 的支持, 也就是
Annotation(注解) - Annotation 其实就是代码里的 特殊标记, 这些标记可以在编译, 类加
载, 运行时被读取, 并执行相应的处理。 - Annotation 可以像修饰符一样被使用, 可用于 修饰包, 类, 构造器, 方
法, 成员变量, 参数, 局部变量的声明, 这些信息被保存在 Annotation
的 “name=value” 对中。 - 在JavaSE中,注解的使用目的比较简单,例如标记过时的功能,
忽略警告等。在JavaEE/Android中注解占据了更重要的角色,例如
用来配置应用程序的任何切面,代替JavaEE旧版中所遗留的繁冗
代码和XML配置等 - 未来的开发模式都是基于注解的,一定程度上可以说:框架 = 注解 + 反射 + 设计模式。
常见的Annotation示例
- 生成文档相关的注解
- 在编译时进行格式检查(JDK内置的三个基本注解)
(1)@Override
: 限定重写父类方法, 该注解只能用于方法
(2)@Deprecated
: 用于表示所修饰的元素(类, 方法等)已过时。通常是因为
所修饰的结构危险或存在更好的选择
(3)@SuppressWarnings
: 抑制编译器警告 - 跟踪代码依赖性,实现替代配置文件功能(组件或框架中的功能)
例如Servlet3.0提供了注解(annotation),使得不再需要在web.xml文件中进行Servlet的部署已经spring框架中关于“事务”的管理。
如何自定义注解(用的并不多,了解即可)
参照SupperessWarnings定义即可
- 注解声明为:@interface(和接口没有关系,只是看起来像)
- 内部定义成员,通常使用value表示
- 可以指定成员的默认值,使用default定义
- 如果自定义注解没有成员,表明是一个标识作用
- 如果注解有成员,在使用注解时,需要指明成员的值。(有默认值的可省略)
- 自定义注解必须配上注解的信息处理流程(使用反射)才有意义。
JDK中的元注解
什么叫元注解?
对现有注解进行解释说明的注解,以override为例,下面的@Target 和 @Retention即为元注解
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface Override {
}
4种元注解的介绍
-
@Retention
注解的生命周期
-
@Target
-
@Documented
和@Inherited
通过反射获取注解信息(暂不介绍)
JDK8中注解的新特性(简单了解)
可重复的注解
可用于类型的注解
@Target
的参数类型ElementType多了两个:
TYPE_PARAMETER:(主要用于泛型声明)表示该注解能写在类型变量的声明语句中
TYPE_USE:表示该注解能写在使用类型的任何语句中。
这篇关于笛子的Java系列总结——注解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!