java - to toString()应该写成@Override吗?

时间:2015-06-05 02:21:51

标签: java override tostring

我知道在为Java中的对象覆盖equals()hashCode()时,请添加@Override标记,但我似乎无法找到任何说明您的文档在覆盖toString()时应该这样做 - 不应该是相同的,因为它们都是继承的Object方法吗?

3 个答案:

答案 0 :(得分:3)

每当您重写超类方法时,都应该始终包含注释。

答案 1 :(得分:1)

不确定。使用@Override注释永远不会必要,但它很有帮助。来自https://docs.oracle.com/javase/tutorial/java/annotations/predefined.html

  

虽然在覆盖方法时不需要使用此批注,但它有助于防止出错。如果使用@Override标记的方法无法正确覆盖其某个超类中的方法,则编译器会生成错误。

答案 2 :(得分:1)

你应该使用@Override注释toString(),尽管从法律上讲没有这样的要求。注释@Override可防止程序员错误地覆盖超类方法;如果覆盖不正确,则会发生编译时错误。

意识形态是在发生错误后尽快发现错误,理想情况是在编译时。