class Accessibility {
private class Example1 {
class A1 {
}
class B1 {
class A1 {
}
}
class C1 extends B1 {
class D1 extends A1 { // A1 = B1.A1, shadowing Example1.A1
}
}
}
private class Example2 {
int j;
class A2 {
}
void foo() {}
class B2 {
private int j;
private class A2 {}
private void foo() {}
}
class C2 extends B2 {
class D2 extends A2 {} // A2 = Example2.A2, B2.A2 innacessible
int i = j; // j = Example2.j, B2.j innacessible
void bar() {
foo(); // foo = Example2.foo, B2.foo innacessible
}
}
}
}