13

@Override派生クラスでいくつかのスーパー クラス メソッドをオーバーライドしているときに、注釈が非常に役立つことがわかりました。基本的に、コンパイラは私のプログラムの欠陥を早期に検出します。これは常に良いことです。しかし、なぜ Java に @Implements アノテーションがないのでしょうか?

4

4 に答える 4

18

@Overrideインターフェイスによって定義されたメソッドにも使用するためです。

(はい、「オーバーライド」ではなく「実装」していますが@Override、両方に使用されます)

于 2013-02-14T06:34:01.567 に答える
2

Java 6以降、インターフェースで定義されたメソッドを実装するクラスメソッドで @Override を使用できます

于 2013-02-14T06:43:04.663 に答える
1

使用するインターフェイスを実装するimplementsには、そのインターフェイスにメソッドが存在する場合は、それらのメソッドをオーバーライドして実装を提供します。

したがって@Override、両方の場合 (クラスまたはインターフェイス) で常にオーバーライドするため、注釈のみがあります。

于 2013-02-14T06:41:58.893 に答える
0

インターフェイスを実装するには、キーワードが既に存在します: implements. しかしオーバーライドの場合、そのようなキーワードは存在しませんでした。@Overrideはキーワードではありませんが、同様に機能します。

于 2013-02-14T06:35:23.687 に答える