注解相信大家都用到过,给我们编程带来了很大的便利,但是对于注解可能大家都没有去过多的去了解,今天来讲一些注解的一些基本知识。
首先,注解的本质是什么?
注解其实是一种声明,是附在java代码中的元信息,在编译或者解析的时候起到自己的作用,他不会影响实际逻辑,只起到了一些辅助作用。
1、元注解
元注解是什么?是注解的注解。
元注解总共有四个,@Retention,@Target,@Document,@Inherited
1.1、@Retention 定义注解的保留策略
@Retention(RetentionPolicy.SOURCE)只在源码中起作用,不会编译到class文件中
@Retention(RetentionPolicy.CLASS)会编译到class文件中,但是无法在运行过程中获得
@Retention(RetentionPolicy.RUNTIME)会编译到class文件,运行过程中可以通过反射获得
1.2、@Target 指示注解
表示了注解所适用程序元素的种类,如果没有这个元注解,则代表适用与所有程序元素
1.3、@Document 帮助文档中加入注解
如果你想制作javaDoc文件把注解加入到API中,则需要该元注解
1.4、@Inherited 注解继承
默认情况下,注解不会被继承,如果加上这个注解,则会被子类继承下去。注意:此注解对类以外的任何事物无效,对实现接口的类也无效,因为接口里的@Inherited是无效的。
2、自定义注解
@Retention(RetentionPolicy.RUNTIME)
@Document
@Target(ElementType.METHOD)
@Inherited
public @interface xxx{
boolean f() default true;
}
@xxx(f=false)
public void test(){
System.out.println("我是测试内容");
}
原文地址:https://blog.youkuaiyun.com/mrwxh/article/details/80583589