[java]-注解(Annotation)

什么是注解

注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。

解决了什么问题

Java EE应用程序中存在各种配置文件,包括框架中。有很多xml格式的配置文件。这些配置文件需要与源代码保存同步,否则的话就可能出现错误。

把同一份信息保存在两个地方,总是个坏的主意。理想的情况是在一个地方维护这些信息就好了。其它部分所需的信息则通过自动的方式来生成。

JDK 5中引入了源代码中的注解(annotation)这一机制。注解使得Java源代码中不但可以包含功能性的实现代码,还可以添加元数据。注解的功能类似于代码中的注释,所不同的是注解不是提供代码功能的说明,而是实现程序功能的重要组成部分。

用途分类

①编写文档:通过代码里标识的元数据生成文档【生成文档doc文档】
② 代码分析:通过代码里标识的元数据对代码进行分析【使用反射】
③编译检查:通过代码里标识的元数据让编译器能够实现基本的编译检查【Override】

内置注解

@Override
@Deprecated
@SuppressWarnings
@SafeVarargs
@FunctionalInterface

自定义注解

  1. 创建注解类型的时候即不使用class也不使用interface,而是使用@interface
  2. 元注解
    @Target({METHOD,TYPE}) 表示这个注解可以用用在类/接口上,还可以用在方法上
    @Retention(RetentionPolicy.RUNTIME) 表示这是一个运行时注解,即运行起来之后,才获取注解中的相关信息,而不像基本注解如@Override 那种不用运行,在编译时eclipse就可以进行相关工作的编译时注解。
    @Inherited 表示这个注解可以被子类继承
    @Documented 表示当执行javadoc的时候,本注解会生成相关文档
    请在学习完本知识点最后一个步骤解析注解之后,再查看 元注解,做更详尽的学习。

元数据

Metadata is data [information] that provides information about other data
为其他数据提供信息的数据

元注解

元注解有这么几种:
@Target
@Retention
@Inherited
@Documented
@Repeatable (java1.8 新增)

注解分类

按照作用域分

根据注解的作用域@Retention,注解分为
RetentionPolicy.SOURCE: Java源文件上的注解
RetentionPolicy.CLASS: Class类文件上的注解
RetentionPolicy.RUNTIME: 运行时的注解

按照来源分

按照注解的来源,也是分为3类

  1. 内置注解 如@Override ,@Deprecated 等等
  2. 第三方注解,如Hibernate, Struts等等
  3. 自定义注解,如仿hibernate的自定义注解

参考:

http://how2j.cn/k/annotation/annotation-category/1059.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值