引用:http://stackoverflow.com/questions/94361/when-do-you-use-javas-override-annotation-and-why
在类继承或实现接口是,要重写父类方法,或是实现接口方法(接口:JDK6可用,JDK5不可用)时,添加此说明作显式说明。
使用@override的出发点:
1、在你要重写的方法前加,这样可以明确你确实是要重写。如果你将方法名拼写错误,而父类并没有这个方法,那编译器将会警告你。这样可以避免一些错误。如 servlet 中,会调用doGet, doPost,而你不小心将doGet写成了doGot,没加@override也是可以编译的,在运行过程中,却不会被执行。而加了@override,编译器就可以马上提示你,可以减少debug时间。
2、加了@override可以使代码更直观,更易于阅读并被理解。
3、如果更改了父类,那子类的修改不容易被遗漏。如原先父类的定义是:
protected boolean displaySensitiveInformation() {
return false;
}
后来被改为:
protected boolean displaySensitiveInformation(Context context) {
return true;
}
这样,你必须将子类的所有代码进行对应修改,有了@override,你能很快找到要修改的地方。
4、JDK6对interface方法的实现,也开始支持@override了,加上它对代码除错更好。