简介
注解(annotation)是JDK5之后引进的新特性,是一种特殊的注释,之所以说它特殊是因为不同于普通注释(comment)能存在于源码,而且还能存在编译期跟运行期,会最终编译成一个.class文件,所以注解能有比普通注释更多的功能
Java自带的注解
这里只介绍Java5自带的3种注解
@Deprecated表明当前的元素已经不推荐使用
/**
* 一般来说使用@Deprecated注解的方法要加上一下的javadoc文档
* @deprecated 这里要写明因为什么原因抛弃了使用该方法,推荐使用什么方法代替
*/
@Deprecated
public void badMethod(){ //已经不推荐使用的方法
...
}
@Override表明当前方法是覆盖了父类方法,添加@Override是一种必须的编程习惯,因为它能帮助你找到代码中的错误,如下:
abstract class Fruit{
protected void showOnTheDesk(){
...
}
}
class Apple implements Fruit{
@Override
public void showInTheDesk(){ //编译报错,看出来没有?父类是On不是In!
...
}
}
以上代码在编译时报错the showInTheDesk() must oerride or implement a supertype method,所以@Override帮助你避免写错方法名
@suppressWarnings关闭不当的编译器警告信息,如下
class A{
final void doSth(){
//添加说明抑制警告的原因:A的getClass() 必然是Class
@SuppressWarnings(unchecked)
Class a=(Class)getClass() //有unchecked警告
...
}
}