注解(annotation)

什么是注解
  1. 允许程序员在编写代码的同时可以直接编写元数据
  2. 在引入注解之前,程序员们描述其代码的形式尚未标准化,每个人的做法各异:transient关键字、注释、接口等。这显然不是一种优雅的方式,随之而来的一种崭新的记录元数据的形式——注解被引入到Java中.
  3. 其它因素也促成了这个决定:当时不同类型的应用程序使用XML作为标准的代码配置机制,这其实并不是最佳方式,因为代码和XML的解耦以及未来对这 种解耦应用的维护并不低廉。另外,由于非保留字的使用,例如“@deprecated”自从Java1.4便开始在Java文档中使用。我非常确定这是一 个现在在注解中使用“@”原因。
注解语法和元素
  1. 声明一个注解需要使用“@”作为前缀,这便向编译器说明,该元素为注解。例如:
    @Annotation
    public void annotatedMehod() {
    ...
     }
    
  2. 上述的注解名称为Annotation,它正在注解annotatedMethod方法。编译器会处理它。注解可以以键值对的形式持有有很多元素,即注解的属性。
    @Annotation(
     info = "I am an annotation",
    counter = "55"
    )
    public void annotatedMehod() {
    ...
    }
    
  3. 如果注解只包含一个元素(或者只需要指定一个元素的值,其它则使用默认值),可以像这样声明:
    @Annotation("I am an annotation")
    public void annotatedMehod() {
    ...
    }
    
  4. 就像我们看到的一样,如果没有元素需要被指定,则不需要括号。多个注解可以使用在同一代码上,例如类:
    @ Annotation (info = "U a u O")
    @ Annotation2
    class AnnotatedClass { ... }
    
用在什么地方

注解基本上可以在Java程序的每一个元素上使用:类,域,方法,包,变量,等等。
自Java8,诞生了通过类型注解的理念。在此之前,注解是限于在前面讨论的元素的声明上使用。从此,无论是类型还是声明都可以使用注解,就像:
@MyAnnotation String str = "danibuiza";

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值