ジン・リー:
私は、上の情報を見た@Override
のStackOverflowでのアノテーション。
私はそれが親のメソッドをオーバーライドすることを学びました。しかし、私は言っていくつかのコメントを見@Override
ファクトチェックスペルミスで缶を、そして、置くことは非常に有用である@override
すべてのメソッドの前に注釈を。
私は@Overrideは、メソッド名のスペルミスをチェックすることができる方法を知りたいです。(私が正しく理解されている場合)
スイーパー:
私は、このメソッドをオーバーライドしたいのにしてみましょう:
public class Foo {
public void foo() { ... }
}
なければ@Override
、私はまだそれを上書きすることができます。
public class Bar extends Foo {
public void foo() { ... }
}
しかし、私はそれをスペルミス場合:
public class Bar extends Foo {
public void fooo() { ... }
}
fooo
上書きしませんfoo
。私はスペルミスを認識していなかった場合、私は知っているだろうfoo
、実際にされていない上書き。これはバグを引き起こす可能性があります。
私が追加した場合@Override
にはfooo
しかし、:
public class Bar extends Foo {
@Override
public void fooo() { ... }
}
コンパイラはそれを私に教えてくれるfooo
何かを上書きしません。私はこのメッセージを見て行く「しかし、それはオーバーライドを行いますfoo
!なぜそれが?ああ!私はそれをスペルミス待機しないことをコンパイラの発言をしました。」。