Java注解
java是JDK5.0 引入的一种注释机制,在类、方法、变量、参数和包等都可以被标注,说白了就是一种特殊的注释。
内置的注解
- @Override - 检查该方法是否是重写方法,不是则报错
- @Deprecated - 标记过时方法。如果使用该方法,会报编译警告。
- @SuppressWarnings - 指示编译器去忽略注解中声明的警告。
作用在其他注解的注解(或者说 元注解)是:
- @Retention - 标识这个注解怎么保存,是只在代码(SOURCE)中,还是编入class(CLASS)文件中,或者是在运行时可以通过(RUNTIME)反射访问。
- @Documented - 标记这些注解是否包含在用户文档中。
- @Target - 用于描述注解的使用范围
- @Inherited - 子类是否可继承
从 Java 7 开始,额外添加了 3 个注解:
- @SafeVarargs - Java 7 开始支持,忽略任何使用参数为泛型变量的方法或构造函数调用产生的警告。
- @FunctionalInterface - Java 8 开始支持,标识一个匿名函数或函数式接口。
- @Repeatable - Java 8 开始支持,标识某注解可以在同一个声明上使用多次。
注解的使用
注解一般没有太大的意义,配合反射效果就明显了。很多框架用到了反射+注解。
ps:反射:可以实现动态创建对象和编译
下边大家可以看一个例子来更加清晰理解注解+反射的作用,引入链接:
一个Java例子,解释清楚注解的作用
反射+注解答题实现思路:通过注解进行标记,在代码运行期间,发现扫描到注解,然后进行一系列处理(干你想干的事情)。