Should I add an @Override annotation when implementing abstract methods in Java?

后端 未结 4 554
半阙折子戏
半阙折子戏 2020-12-24 10:26

When overriding a non-virtual method in Java, use of the @Override annotation is recommended, but what if I implement an abstract method? Should I use @Ov

4条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-12-24 11:12

    I tend to prefer the use of @Override in this case, so that the method gets flagged in the subclasses if the superclass changes (either removing the method altogether, or changing its signature, etc.).

    The only real difference is that without the annotation, if the method in the superclass/interface is changed or removed, the implementation in question simply becomes a "normal" method of that class. Thus you should add the annotation if you're implementing the method solely to fulfil the contract; and you probably shouldn't add it if the method makes sense in your class regardless of any implemented interfaces or inherited abstract methods.

提交回复
热议问题