为什么Java中没有@Implements注释?
我发现@Override
注释非常有用,同时覆盖了派生类中的一些超类方法。 基本上编译器会在早期检测到程序中的缺陷,这总是一件好事。 但为什么Java中没有@Implements注释?
因为您也将@Override
用于接口定义的方法。
(是的,你是“实施”而不是“覆盖”……但@Override
用于两者)
从Java 6开始,您可以在实现接口中定义的方法的类方法上使用@Override
为了实现接口,我们使用implements
,如果该接口中存在任何方法,那么我们覆盖这些方法以提供实现。
所以只有@Override
注释,因为在两种情况下(类或接口)我们总是覆盖。
要实现接口,关键字已经存在: implements
。 但是对于覆盖,不存在这样的关键字。 @Override
不是关键字,但工作方式类似。