注解可以被理解为一种特殊的注释。普通注释是添加到代码中的人类语言,它可以提高程序的可读性。当源程序被编译为字节码之后,普通注释都会被去除掉,因为这些注释对代码的执行没有任何影响。因此,普通注释只能对代码的阅读者起到帮助。而注释则不同,注释可以对编译器和虚拟机的工作进行指导,也就是说:如果程序员希望自己的编写的代码被按照某种方式被编译或执行,就可以在代码中加入注解。
注解可以出现在类、方法、属性、参数以及枚举常量的前面,甚至注解前面也可以加注解。Java语言本身自带了很多注解,程序员也可以自己定义注解。本小节中仅讲解Java语言中自带的并且是最常用的注解,而在后面章节中讲解反射技术时会讲解注解的工作原理以及如何自定义注解。
在Java语言中,所有的注解都以@开头,后面再加上注解的名称。最常用的注解莫过于Override。这个注解只能被添加到方法的前面,表示该方法是重写或实现了父类中的同名方法。子类重写父类的方法其实不需要添加任何注解,那么在这个重写的方法的前面加上Override注解有什么作用呢?请看图8-33。
图8-33 Override注解作用