Java注解

什么是注解

注解就是用来描述包、类、成员变量、方法或者参数的元数据,注解本身也是一个类。对类和变量的xml描述实际上就是元数据,这些都可以用注解取代,因为注解也是元数据。

比如@Component注解标注在一个类上就表明该类是一个bean,@Autowire标注在成员变量上就直接给该成员变量赋值。本着约定优于配置的原则,注解标注在代码上使代码更加清晰,也容易维护。

元注解

定义在java.lang.annotation包中,java中有5种元注解。

  • @Target 注解用在什么地方,分别有几个地方:
    • ElementType.TYPE 类上
    • ElementType.FIELD 成员变量
    • ElementType.METHOD方法
    • ElementType.PARAMETER 参数
    • ElementType.CONSTRUCTOR 构造方法
    • ElementType.LOCAL_VARIABLE 本地变量
    • ElementType.ANNOTATION_TYPE 另一个注释
    • ElementType.PACKAGE 包上
  • @Retention注解的生命周期
    • RetentionPolicy.SOURCE(编译结束后失效如@Override)、
    • RetentionPolicy.CLASS(JVM加载类的时候失效,默认。不能通过反射获取)、
    • RetentionPolicy.RUNTIME(始终不失效,一般用于自定义注解,可通过反射获取)
  • @Repeatable
  • @Documented 注解信息是否添加到javadoc中
  • @Inherited 注解作用被子类继承。

Java API预定义注解

  • @Override
  • @Deprecated
  • @SuppressWarnings

Java中定义注解

java中用@interface定义注解

@interface Annotation1{
   String value();
}

 kotlin中用annotation class定义注解

annotation class Annotation1(val value:String)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值