仅仅是我,或者在一个不错的IDE中进行编程时,Java的Override注释实际上是无用的吗?
是的,我知道Override注释会阻止我通过拼写错误的方法名称或弄乱方法参数来意外覆盖超级方法。但是,常识告诉我,现代IDE中不太可能发生这种情况,原因如下:
当然,如果你必须在记事本或其他任何地方编写Java代码,那么覆盖注释显然会有所帮助。但我的观点是,在现代IDE中,这种注释提供的安全性增加不值得降低可读性。有什么意见吗?
答案 0 :(得分:6)
你必须相信自己才能看到这些标记。它有一个人的因素,人类是错误的。从个人经验来看,我经常倾向于忽视那些警告和“标记”。另一方面,编译器更加严格,如果使用Override注释方法,它将确保您真正重写超类方法。
答案 1 :(得分:6)
如果@Override未被覆盖的内容,这在IDE中是显而易见的。但是,如果删除某个方法或在父项中更改其签名,则使用“覆盖此方法”签名的所有位置并不明显。使用IDE执行删除/更改将有所帮助,但如果未检出并使用正确的模块/版本,则可能无法获得所有参考。
答案 2 :(得分:2)
是的,它几乎没用。对于那些觉得有用的人来说,对他们有益。但他们用来证明这种情况的场景并不现实。事实是,许多人不使用@Override,他们从未遇到过任何可能解决的问题。
python dude:覆盖方法时没有提到键盘快捷键(IntelliJ中的Ctrl-O)。我从来没有手动输入我所覆盖的方法的签名,因此不会有拼写错误。