Foo と Bar の 2 つのクラスがあり、Bar は Foo を拡張します。
スーパークラスには、メソッド f() があります。サブクラスはこのメソッドをオーバーライドし、意図的に例外をスローして、Bar のインスタンスで f() が呼び出されないようにします。
class Foo {
public void f() {
// does something useful
}
}
class Bar extends Foo {
@Override
public void f() {
throw new UnsupportedOperationException("Srsly, thou shalt not");
}
}
ここで私の質問があります。Eclipse などの IDE と通信するオーバーライドされたメソッドで使用できる、呼び出してはならない注釈はありますか? ユーザーが Bar のインスタンスを処理しているときに Eclipse のオートコンプリート リストがメソッドを除外するように、@deprecated タグを軽く乱用したいと思っていましたが、より良いオプションがあるかどうかを知りたかったのです。
class Bar extends Foo {
/**
* @deprecated
*/
@Override
public void f() {
throw new UnsupportedOperationException("Srsly, thou shalt not");
}
}