关于 Java 中的 @override 注释

来源:互联网 发布:ios性能优化工具 编辑:程序博客网 时间:2024/05/16 04:45

引用: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了,加上它对代码除错更好。