注解的入门,什么是注解

     本文引用与张孝祥老师的视频总结

 

 

     1.注解相当于一种标记

加了注解就等于打上了某种标记,没加,则等于没有某种标记,以后,javac编译器,开发工具包和其他程序可以用反射来了解你的类以及各种元素上有何种标记,看你有什么标记,就去干相应的事,标记可以加载包,类,字段,方法,方法的参数以及局部变量上

    2.看java.lang包可以看到jdk中提供的最基本的annotation

 

譬如

(1) @SuppressWarnings   再程序前面加上可以在javac编译中去除警告--阶段是SOURCE
(2) @Deprecated   带有标记的包,方法,字段说明其过时----阶段是SOURCE
(3)@Overricle   打上这个标记说明该方法是将父类的方法重写--阶段是SOURCE

3.在定义Annotation类型时,还可以设置Annotation类型适用的程序元素种类

     通过Annotation类型@Target来设置,如果未设置@Target,则

表示适用于所有的程序元素。枚举类ElementType中的枚举常量用来设置@Targer,枚举类ElementType中的枚举常量如下
ANNOTATION_TYPE--表示用于Annotation类型
TYPE--表示用于类,接口和枚举,以及Annotation类型
CONSTRUCTOR--用于构造方法
FIELD--用于枚举常量或成员变量
METHOD--表示用于方法
FARAMETER--表示用于参数
LOCAL_VARIABLE--表示用于局部变量
PACKAGE--表示用于包

 

 

    4.@Retention设置Annotation的有效范围,也就是Annotation有三个阶段如下
@Retention(RetentionPolicy.RUNTIME)
枚举类RetentionPolicy中的枚举常量
(1)SOURCE--表示不编译Annotation到类文件中。有效范围最小
(2)CLASS--表示编译Annotation到类文件中,但在运行时不加载Annotation到jvm中(默认值再CLASS阶段)
(3)0RUNTIME--表示运行时加载Annotation到JVM中,有效范围最大

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值