Java 注解(Annotation)

注解是JDK1.5才添加的功能,它是代码中的一种特殊的标记,可以再编译时,类加载,运行时被读取,并进行处理.

注解可以为程序设置元素据,修饰类,方法,成员变量,包等

使用注解,先要为注解编写配套的工具.

一.基本注解

(1)@Override   

用于修饰方法,指定下面的方法必须覆盖父类的方法

(2)@Deprecated

用于修饰方法,指定下面的方法已经过时,通常会附上替代的方法,当其他位置调用该方法时,编译器给出警告.

(3)@SuppressWarnings

用于修饰程序元素(和所有子元素).功能是压制编译器警告.

(4)@SafeVarargs

1.7新增的注解.专门抑制程序中的”堆污染”.

(5)@FunctionalInterface

Java8中新增的注解.用于声明函数式接口.规定 :  当接口只包含一个抽象方法时(可以有默认方法和静态方法),该接口就是函数式接口.可以用该注解修饰函数式接口.

二.元注解

用于修饰注解的注解就是元注解

(1)@Retention

限定注解能保留到哪个层次.一共可以设定三个层次:

CLASS(class文件级),RUNTIME(运行级),SOURCE(源码级).

(2)@Target

限定注解用于修饰哪些程序元素;程序元素标识:ElementType.XXXXX

包括:修饰注解,修饰构造方法,修饰成员变量,修饰局部变量,修饰方法,修饰包,修饰参数,修饰类接口和枚举.

(3)@Documented

指定注解能否被javadoc提取成文档.被@Documented修饰的注解会被包含在API文档中

(4)@Inherited

指定注解具有继承性,如果一个Annotation B被@Inherited修饰过,使用该注解修饰一个类,那么该类的子类将自动被B修饰.

三.自定义注解

使用@interface修饰,如下定义一个Name注解 :

public @interface Name{ }

注解默认可以修饰任何程序元素.

用元注解修饰自定义注解 ,下面定义了一个保留到运行时,修饰方法的注解:

@Retention(RetentionPolicy.RUNTIME)

@Target(ElementType.METHOD)

public @interface Length{  }

 

 

如何获取注解

通过反射获取注解元素对象之后(Class,Method,Field,Constructor),就可以调用方法获取在其上修饰的注解了.

例如 :

Annotation[] anno=Class.forName(“MyClass”).getMethod(“methodName”).getAnnotations();

上述语句表示获取类MyClass中的方法methodName上的所有注解.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值