を使用しようとするとJavaの私は2つのクラス、AとBがある場合は親クラスのメソッド
public class A {
public int test() {
return 1;
}
}
public class B extends A{
public int test() {
return 2;
}
}
私が行う場合は、サブクラスのメソッドを呼び出す:A a1 = new B()
を、そしてa1.test()
リターン2の代わりに、必要に応じて、1。 これはちょうどJavaの奇抜なものなのでしょうか、それとも何らかの理由がありますか?
これは「動的バインディング」と呼ばれ、静的バインディングについても知っておく必要があります。メソッドの代わりにフィールドをオーバーライドしようとすると、少し難解になります。あなたはSOまたはgoogleでこれに関する多くの質問を見つけるでしょう。 –