Java的注解是Java中非常好用的一个功能点。基本所有的java框架都会用到。在我们日常的工作中,如果善于使用自定义注解,讲给我们节省下大量的时间。
代码示例:
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Documented
@Target(ElementType.METHOD)
@Inherited
@Retention(RetentionPolicy.RUNTIME)
public @interface MyDemo{
String author() default ‘yunsheng’;
}
对自定义注解进行注解的称为元注解。常用的元注解有四类:
@Documented :表明此注解会被javadoc等类似工具识别,并保留在API文档中。
@Target:声明这个注解可使用的范围。可以打开ElementType看下,分别是:1)类,接口,注解,enum; 2)属性域;3)方法;4)参数;5)构造函数;6)局部变量;7)注解类型;8)包
@Inherited:继承。是说如果你在父类上使用了被@Inherited注解的注解A。那么该类的子类也会继承该注解A。
@Retention:注解的存在范围。
有三个范围:
RetentionPolicy.SOURCE 只存在源码级别,被编译器抛弃(@Override就是此类);
RetentionPolicy.CLASS 会被编译器保留在编译后的类文件中,但是会被虚拟机丢弃;
RetentionPolicy.RUNTIME 保留在运行时,可以被反射读取。这个注解还是比较重要的,我们一般是会使用RUNTIME级别,因为我们需要通过反射读取到这个注解。
本文来自作者:zz1080,不代表小新网立场!
转载请注明:https://www.xiaoxinys.cn/136383.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。