私は次のシナリオを持っています:
public class A {
private int x = 5;
public void print()
{
System.out.println(x);
}
}
public class B extends A {
private int x = 10;
/*public void print()
{
System.out.println(x);
}*/
public static void main(String[] args) {
B b = new B();
b.print();
}
}
コードを実行すると、出力は次のようになります:5。
親クラスメソッドを介して子クラス(B)変数(x)にアクセスするにはどうすればよいですか?
これは、print()メソッドをオーバーライドせずに(つまり、Bでコメントを解除することなく)実行できますか?
[オーバーライドすると、print()メソッドのコード全体を再度書き直す必要があるため、これは重要です]
編集済み
より明確にする:-
- 質問の動機は、親クラスのメソッドからの子クラスのプライベート変数の値を使用することです。これは、望ましい結果を達成するために親クラスのプライベート変数の値を変更する必要はありません。
- しかし、ここに投稿された回答は、私が以下に投稿した希望の回答につながりました。
(お時間を割いてご協力いただきありがとうございます)