Java注解

      之前在学习java时没有认真看java注解这部分,最近在熟悉项目代码时,看到里面代码中很多地方都用了java注解这些东西,关于这部分在这里做个总结。
      java注解,也称元数据,一种代码级别的说明。它是JDK1.5以及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。

1.java的内置注解
(1)@override
      用于检验方法是重写方法,如果当父类的方法被移除或者发生更改时编译器会提示错误信息。
(2)@Deprecated
      用它标识的方法表示该方法不建议使用,但是并不影响程序的编译,但有时编译器会显示一些警告信息。
(3)@SuppressWarnings
      告诉编译器忽略特定的警告信息

2.元注解
      在这里有四种类型的元注解,它们的目的是注解其它注解,并且包含关于其它注解的信息:
(1)@Documented
      这个注解用于描述其它类型的annotation应该被作为被标注的程序成员的公共API。拥有这个注解的元素可以被javadoc此类的工具文档化。并且这个注解是一个标记注解,没有成员。
(2)@Target
      它用于指明注解所适用的程序元素的种类,也就是注解的作用范围,如果注解的声明中不存在Target,则声明的注解可以用在任一程序元素上。它的取值有:
       CONSTRUCTOR:用于描述构造器
      FIELD:用于描述域
      LOCAL_VARIABLE:用于描述局部变量
      METHOD:用于描述方法
      PACKAGE:用于描述包
      TYPE:用于描述类、接口(包括注解类型)或enum声明
(3)@Inherited
      只能用于class级别的Annotation,也就是如果一个使用了这个注解修饰的Annotation类型被用于一个class,那么这个Annotation也会被用于该class的子类。
(4)@Retention
      表明被它注解的Annotation被保留的时间长短。它的取值有:
      SOURCE:在源文件中保留
      CLASS:在class文件中有效
      RUNTIME:在运行时有效

3.自定义注解
      使用@interface自定义注解时,自动继承了java.lang.annotation.Annotation接口,在定义注解时,不能继承其它的注解或接口。@interface用来声明一个注解,其中的每一个方法其实也是声明了一个配置参数,方法的返回值就是参数的类型,而方法名称就是参数的名称。在方法中可以通default来声明参数的默认值。参数只能被public 和default两个访问权修饰,并且参数的类型只能是所有的基本数据类型(int, float, boolean, byte, double, char, long, short),String类型,class类型,enum类,Annotation类型以及以上所有类型的数组。

public @interface Testing{
    String test() default " ";
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值