私の質問はプロジェクトから来ています。それで、少し無関係な詳細を抽象化させてください。
foo()とbar()の2つの保護された静的メソッドを持つJAVAパブリッククラスAがあります。メソッドfoo()は、本体でbar()を呼び出します。
public class A{
  protected static foo(){
     ...
     bar()
     ...
  }
  protected static bar(){print("A.bar()");}
} 
これで、Aを拡張するクラスBもあります。Bでは、bar()をオーバーライドします。
class B extends A{
  @Overrides
  static protected bar(){ print("A.bar() extended");
}
最後に、Bのクラスからfoo()を呼び出します
class B extends A{
  ...
  public static main(){foo()} 
}
2つのポイントが理解できません1.コンパイラー(Eclipse)から、@Overrideアノテーションを削除するように求められます。なんで?2.最後に、main()は「A.bar()」を出力します。これは、解決されたbar()ターゲットがクラスAであることを意味しますが、bar()をオーバーライドし、Aのfoo()を使用して変更されたbar( )。どうやってやるの?
あなたの意見は何ですか?