オーバーライドしたいコードの前に@Override
を追加する機能は何ですか。私はそれを使っても使わなくても、すべてが順調に進んでいるように見えました(少なくとも私にとっては)。
必須ではありませんが、強くお勧めします。それはあなたが足で自分を撃つことを防ぎます。これにより、別の関数をオーバーライドすると思われる関数を記述しても、スペルが間違っていて完全に予期しない動作が発生するのを防ぐことができます。
@Overrideを追加する機能
指定したメソッドがスーパークラスメソッドをオーバーライドする(または、Java 6以降)でインターフェイスメソッドを実装する)と思われる場合、(注釈を付けることで)コンパイラーがダブルチェックします。メソッドは実際にはスーパークラスメソッドをオーバーライドしない(またはインターフェイスメソッドを実装する)場合、コンパイラはこれにエラーのフラグを付けます。これは、メソッド名にタイプミスがあるか、メソッドシグネチャに誤りがあることを示しています。
@Overrideが本当に必要か
それが必要ですか?絶対にそうではありませんが、そのようなcheapへの道
... IDEがそれを含めるのに役立つと、さらに安価になります...
一貫性の管理に役立つため、この方法をお勧めします。誰かがスーパークラスメソッドの名前を変更すると想像してみてください(それだけで、それに応じてクラスで名前の変更を実行することはありません。これは非常に仮説です:))コンパイルエラーが原因で最初に知る人になります。
唯一の違いは、@ Overrideを使用してメソッドに注釈を付け、何もオーバーライドしない場合、コンパイラーは不平を言うということです。
メソッド名のスペルミスや大文字と小文字の違いを回避するのに役立ちました。それがなければ、追跡するのに時間がかかる可能性があるこれらの迷惑なバグの1つです。
機能的な違いはありませんが、メソッドをオーバーライドしているとコンパイラに通知するので、どこかで問題が発生したときにあまり役に立たないと不平を言う可能性があります。
Urコードの素朴さを増し、他の人がurコードを維持するのにも役立つので、それを使用することを強くお勧めします。