Java学习笔记——Java 中的 Annotation(注释)


一、基本 Annotation

  • Annotation 其实是代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理。
  • Java 提供的五个基本的 Annotation:
    ① @Override
    ② @Deprecated
    ③ @Suppress Warning
    ④ @Safe Varargs
    ⑤ @FunctionalInterface
  • 使用 Annotation 时要在其前面增加 @ 符号,并把该 Annotation 当做一个修饰符使用,用于修饰它支持的程序元素;
1. 限定重写父类方法:@Override
  • @Override 就是用来指定方法覆载的,它可以强制一个子类必须覆盖父类的方法;
  • @Override 只能修饰方法,不能修饰其他程序元素;
2. 标示已过时: @Deprecated
  • @Deprecated 用于表示某个程序元素已过时,当其他程序使用已过时的类、方法等,编译器会给出警告;
3. 抑制编译器警告:@Suppress Warning
4. Java7 的“堆污染”警告与 @Safe Varargs
5. Java8 的函数式接口与 @FunctionalInterface

二、JDK 的元 Annotation

1. 使用 @Retention
  • 用于指定被修饰的 Annotation 可以保留多长时间;
2. 使用 @Target
  • 用于指定被修饰的 Annotation 可以修饰哪些程序单元;
3. 使用 @Documented
  • 用于指定被该元 Annotation 修饰的 Annotation 类将被 javadoc 工具提取成文档;
4. 使用 @Inherited
  • 用于指定它被修饰的 Annotation 将具有继承性;

三、自定义 Annotation

1. 定义 Annotation
  • 定义新的 Annotation 类型使用 @interface 关键字,与定义一个接口非常像;
//定义一个简单的 Annotation 类型
public @interface Test{

}
//使用 @Test 修饰类定义
@Test
public class MyClass{

}
public class MyClass{
	//使用 @Test Annotation修饰方法
	@Test
	public void info(){

	}
}
2. 提取 Annotation 信息
  • 使用 Annotation 修饰了类、方法、成员变量之后,这些 Annotation 不会自己生效,必须由开发者提供相应的工具来提取并处理 Annotation 信息;
  • Java 使用 Annotation 接口来代表程序元素前面的注释,该接口是所有注解的父接口;
  • AnnotatedElement 接口是所有程序元素的父接口,所以程序通过反射获取了某个类的 AnnotatedElement 对象之后,程序就可以调用对象的方法来访问 Annotation 信息;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值