注解(Annotation)

Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。

Java 语言中的类、方法、变量、参数和包等都可以被标注。和 Javadoc 不同,Java 标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。

注解本质是一个继承了Annotation 的特殊接口,其具体实现类是Java 运行时生成的动态代理类。而我们通过反射获取注解时,返回的是Java 运行时生成的动态代理对象$Proxy1。通过代理对象调用自定义注解(接口)的方法,会最终调用AnnotationInvocationHandler 的invoke 方法。该方法会从memberValues 这个Map 中索引出对应的值。而memberValues 的来源是Java 常量池。

内置注解:

@Override 标记,标注的方法重写父类的方法

@Deprecated 废弃的,不建议使用的,但是也可以用,他有更好的替代品

@SuppressWarning("参数") 抑制,忽略注解中声明的警告

元注解:

@Target 标记这个注解应该是哪种 Java 成员。

@Retention 标记注解的生命周期

@Inherited 标记这个注解是继承于哪个注解类

@Docunment 标记这些注解是否包含在用户文档中。

自定义注解:

1、Annotation 类型定义为@interface, 所有的Annotation 会自动继承java.lang.Annotation这一接2口,并且不能再去继承别的类或是接口。

2、参数成员只能用public 或默认(default) 这两个访问权修饰。

3、参数成员只能用基本类型byte、short、char、int、long、float、double、boolean与一维数组。

4、要获取类方法和字段的注解信息,必须通过Java的反射技术来获取 Annotation 对象,因为你除此之外没有别的获取注解对象的方法。

注意点:

1、自定义注解需要使用到元注解。

2、注解方法不能有参数。

3、注解方法的返回类型局限于原始类型,字符串,枚举,注解,或以上类型构成的数组。

4、注解方法可以包含默认值。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值