在编写Java代码时,我们真的需要@Override等等吗?

2022-08-31 17:33:08

可能的重复:
你什么时候使用Java的@Override注释,为什么?

我想知道在我们要重写的代码前面添加的功能是什么。我有它没有它,似乎一切都很顺利(至少对我来说)。@Override


答案 1

这不是必需的,但强烈建议这样做。它可以防止你开枪打自己的脚。它有助于防止当您编写一个您认为覆盖另一个函数但拼写错误并且得到完全意外的行为时的情况。


答案 2

添加@Override的功能

当您说(通过注释)指定的方法应该覆盖超类方法(或在Java 6或更高版本中实现接口方法)时,它允许编译器为您进行双重检查。如果该方法实际上没有重写超类方法(或实现接口方法),编译器会将其标记为错误。这通常表示方法名称中存在拼写错误或方法签名中出错。

我们真的需要@Override

需要它?绝对不是,但它是如此便宜的方式

  • 向人类读者明确传达这是一种覆盖方法,并且
  • 在编译时捕获一个错误,一旦你甚至知道要查找它,在运行时至少需要几个大脑周期才能捕获它

...当您的IDE帮助您包含它时,甚至更便宜...


推荐