[解決済み】インターフェイスのメソッド実装は@Overrideすべきなのか?
2022-03-24 12:41:19
質問
インターフェイスメソッドを実装するメソッドには、以下のアノテーションを付けるべきでしょうか?
@Override
?
は
のjavadocを参照してください。
Override
アノテーション
は言う。
メソッド宣言が、スーパークラスのメソッド宣言をオーバーライドすることを意図していることを示します。メソッドがこのアノテーションタイプでアノテーションされているが、スーパークラスのメソッドをオーバーライドしていない場合、コンパイラはエラーメッセージを生成する必要があります。
インターフェイスは技術的にスーパークラスではないと思うのですが。それとも、そうなのでしょうか?
どのように解決するのですか?
可能な限り@Overrideを使用すべきです。 単純なミスを防ぐことができます。 例を挙げます。
class C {
@Override
public boolean equals(SomeClass obj){
// code ...
}
}
を適切にオーバーライドしていないため、コンパイルできません。
public boolean equals(Object obj)
.
インターフェースを実装するメソッドも同様です ( 1.6以降のみ ) またはスーパークラスのメソッドをオーバーライドします。
関連
-
[解決済み] ストリングビルダー.イコール Java
-
[解決済み] serialVersionUIDとは何ですか、またなぜそれを使用する必要がありますか?
-
[解決済み] どのような場合に '$this' よりも 'self' を使うべきですか?
-
[解決済み] メソッドと関数の違いは何ですか?
-
[解決済み] 抽象メソッドと仮想メソッドの違いは何ですか?
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] インターフェースと抽象クラス(一般的なOO)
-
[解決済み] Eclipseにプロジェクトをインポートした後に「Must Override a Superclass Method」エラーが発生する。
-
[解決済み] なぜJava 8のOptionalは引数で使ってはいけないのか
-
[解決済み] Typescript によるインターフェース型チェック
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] tempとは何ですか、またjavaにおけるtempの用途は何ですか?
-
[解決済み] enumのordinalを使用するのは良い習慣ですか?
-
[解決済み] コレクションへの共有参照が見つかりました org.hibernate.HibernateException
-
[解決済み] Cloneable throws CloneNotSupportedException
-
[解決済み] アニメーションGIFの表示
-
[解決済み] Eclipseでクラスとそれに対応するファイルの名前を変更する方法は?
-
[解決済み] x--やx++はここで何をするのですか?
-
[解決済み] .lengthが解決できない、またはフィールドでない
-
[解決済み] Javaの@Overrideアノテーションはいつ使うのか、なぜ使うのか?
-
[解決済み】Pythonでは、メソッドをオーバーライドしていることを示すにはどうすればよいですか?