サブクラスがスーパークラスを継承する場合、サブクラスと、スーパークラスで定義された異なるアクセシビリティを持つフィールドとの関係、サブクラスが所有するフィールドと所有しないフィールドはどうなりますか。そして、誰かが以下の例を説明できますか:
class Parent
{
private int partOne = 0;
public int partTwo = 1;
public void tellMe()
{
System.out.println(partOne);
System.out.println(partTwo);
}
}
class Child extends Parent
{
private int partOne = 2;
public int partTwo = 3;
public void main(String[] args)
{
Child child = new Child();
child.tellMe();
}
}
Eclipse でデバッグしたとき、スタック内の変数childを監視しました。Child インスタンスには 4 つのフィールドがあり、そのうちの 2 つはそのクラスによって定義され、2 つはその親クラスによって定義されていることがわかりました。私は非常に混乱しました。子インスタンスを作成する IMP 、親クラスのコンストラクターに入るだけだと思いますが、子クラスが2つのフィールドをオーバーライドしない理由を説明できません、または少なくとも、partTwoをパブリックアクセシビリティでオーバーライドする必要があると思います.理由を教えてください、ありがとう。