@Override とはどういう意味ですか? 質問する

@Override とはどういう意味ですか? 質問する
public class NaiveAlien extends Alien
{

    @Override
    public void harvest(){}

}

友人のコードを理解しようとしたのですが、コード内の @Override という構文がわかりません。これは何をするもので、なぜコーディングに必要なのでしょうか? ありがとうございます。

ベストアンサー1

これは、親クラス (または Java 6 ではインターフェース) のメソッドをオーバーライドしていることをコンパイラーに知らせるためのヒントです。

コンパイラはオーバーライドする関数がないことを検出すると、警告 (またはエラー) を表示します。

これは、タイプミスや API の変更をすばやく特定するのに非常に便利です。親クラスの メソッドをオーバーライドしようとしているharvest()が、 と入力するとharvset()、プログラムは暗黙的に基本クラスを呼び出しますが、 がなければ@Override、それに関する警告は表示されません。

同様に、ライブラリを使用していて、ライブラリのバージョン 2 でharvest()整数パラメータを取るように変更されている場合、それをオーバーライドすることはできなくなります。この場合も、@Overrideすぐに通知されます。

おすすめ記事