この記事を読んでいたとき、セクションPrivate Members in a Superclassの下に、この行を見ました
ネストされたクラスは、それを囲むクラスのすべてのプライベート メンバー (フィールドとメソッドの両方) にアクセスできます。したがって、サブクラスによって継承されたパブリックまたは保護されたネストされたクラスは、スーパークラスのすべてのプライベート メンバーに間接的にアクセスできます。
私の質問は、 inのNested
クラスに直接アクセスするにはどうすればよいですか(任意の ,フィールドにアクセスできるように)?Base
Derived
public
protected
と
方法があれば、スルーのプライベート フィールドにどのようにDerived
アクセスできますか?p
Base
Nested
public class Base {
protected int f;
private int p;
public class Nested {
public int getP() {
return p;
}
}
}
class Derived extends Base {
public void newMethod() {
System.out.println(f); // i understand inheriting protected field
// how to access the inherited Nested class here? and if accessed how to retrieve 'p' ?
}
}
このスレッドに時間と労力を割いていただき、ありがとうございます。