有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

什么时候使用Java的@Override注释?为什么?

使用Java的@Override注释的最佳实践是什么?为什么

@Override注释标记每个被重写的方法似乎有些过分。是否有某些编程情况需要使用@Override,而其他情况则不应该使用@Override


共 (3) 个答案

  1. # 1 楼答案

    每次你为了两个好处重写一个方法时都要使用它。这样做,您就可以利用编译器检查来确保您实际上正在重写一个您认为是的方法。这样,如果你犯了一个常见的错误,拼写错误的方法名或没有正确匹配参数,你会被警告你的方法实际上并没有像你认为的那样重写。其次,它使您的代码更容易理解,因为当方法被覆盖时,代码更容易理解

    此外,在Java1.6中,您可以使用它来标记方法何时实现接口以获得相同的好处。我认为最好有一个单独的注释(比如^{),但总比没有好

  2. # 2 楼答案

    使用@Override注释可以在编译时防止常见的编程错误。如果在一个方法上有注释,而实际上没有重写超类方法,则会引发编译错误

    最常见的情况是,当您更改基类中的方法以具有不同的参数列表时,这一点很有用。子类中用于重写超类方法的方法将不再这样做,因为方法签名已更改。这有时会导致奇怪和意外的行为,尤其是在处理复杂的继承结构时。@Override注释可以防止这种情况

  3. # 3 楼答案

    我总是用标签。它是一个简单的编译时标志,用来捕捉我可能犯的小错误

    它将捕获tostring()而不是toString()

    小事情对大项目有帮助