为了账号安全,请及时绑定邮箱和手机立即绑定

Annotation 注解笔记

标签:
Java
简介

1)开发人员可以在不改变原有逻辑的情况下,在源文件嵌入一些补充信息。可以用来修饰类、属性、方法,并且不影响程序的运行,无论是否使用Annotation代码都可以正常执行。

2)接口

import java.lang.annotation.Annotation
系统内建的Annotation

1)@Override:主要的实在覆写的时候使用,用于保证覆写方法的正确性。

2)@Deparecated:主要功能是用来申明一个建议使用的方法。如果在程序中使用了该方法,则在编译的时候出现警告信息。

3)@SuppressWarning主要功能是用来压制警告。

自定义的Annotation

1)定义一个简单的Annotation

[public] @interface Annotation 名称{
    数据类型 数据变量();
}

2)向Annnotation中设置内容

public @interface MyDefaultAnnotationMoreParam{
    public String key();    //接收设置变量
    public String value();
@MyDefaultAnnotationMoreParam("name","张三");    //使用自定义的Annotation
calss Dome{
}

3)默认值:只要在定义Annotation时设置了属性,就必须在使用时设定它们的属性。

public @interface MyDefaultAnnotationMoreParam{
    public String key() default "baidu";    //接收设置的内容
    public String value();

4)使用枚举限制设定的内容

public enum Browser{
    baidu,firefox,google
}
Retention和RetentionPolicy

Retention定义一个Annotation的保存范围。Retention定义存在一个RetentionPolicy的变量。

RetentionPolicy变量范围

1)SOURCE:保留在程序的源文件中(.java),编译成功之后不会保留在类文件中(.class)。

2)CLASS:保存在源文件和类文件中,不会被加载到虚拟机(JVM)中,如果没有指定范围,则默认是此值。

3)RUNTIME:保存在源文件和类文件中,在执行时会加载到虚拟机中。

通过反射取得Annotation

1)可以取得全部的Annotation

2)可以取得指定的Annotation的内容

@Target

对一个自定义的Annotation能在指定的位置出现。

@Documented

对一个自定义的Annotation进行注释。

@Inherited注释

用于标志一个父类注释是否可以被子类所继承。

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
软件测试工程师
手记
粉丝
172
获赞与收藏
904

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消