(一)Annotation(注解)的作用
注解的作用是修饰编程元素。编程元素就是:包、类、构造方法、方法、成员变量等。Annotation能对这些元素进行标识,JVM在执行时可以读取标识并执行相应处理。
注解和注释是不同的,区别:注解可以在源文件中加入一些信息,例如使用框架开发时,我们都是通过配置文件进行对象关系组合映射等功能,而通过注解就可以代替配置文件的编写,而注释是开发人员用于方便阅读源代码,不会对程序产生任何影响。总结一句话:注解给JVM看,注释给开发人员看。
注解的基本功能
- 编写文档:通过代码里标识的元数据生成文档。
- 代码分析:通过代码里标识的元数据对代码进行分析。
- 编译检查:通过代码里标识的元数据让编译器能实现基本的编译检查。
(二)Java内置注解
Java内置注解是JDK提供的普通注解,在eclipse中可以通过输入@ + alt+/来查看内置注解。除了之外,我们还可以自定义注解,以便用于不同情况。
常用的内置注解:
- @Override(重写):标示该方法重写了超类方法或实现了接口类方法;
- @Deprecated(弃用、不赞成):表示修饰的方法已被弃用,不赞成使用;
- @SuppressWarnings(抑制警告) :让编译器取消警告提醒(即感叹号信息);
- @FunctionalInterface(函数接口):Java8新增注解,修饰接口表明只能存在一个抽象方法,但是允许存在多个默认方法;
- @SafeVarargs(heap pollution):修饰出现堆污染的情况,如可变形参、泛型数组。
//测试常用的内置注解
public class Test00 extends supClass implements SupImp{
@Override
public void testMethod() { System.out.println("~~~~~~~~"); }
@Override
public void method2() {}//该方法没重写超类方法或实现接口方法,检查报错
@Override
public void impAbc() {}//标识该方法实现了接口方法
}
class supClass{