Вероятно, похоже на вопрос Почему внешние классы Java могут получить доступ к закрытым членам внутреннего класса? или Доступ к закрытым полям суперкласса используя ключевое слово super в подклассе.
Но есть некоторые отличия: класс children может обращаться к закрытым членам своего родительского класса (и только к ближайшему родительскому классу).
Учитывая пример кода ниже:
public class T {
private int t;
class T1 {
private int t1;
public void test() {
System.out.println(t);
}
}
class T2 extends T1 {
private int t2;
public void test() {
System.out.println(t);
System.out.println(super.t1);
System.out.println(this.t2);
}
}
class T3 extends T2 {
public void test() {
System.out.println(t);
System.out.println(super.t1); // NG: t1 Compile error! Why?
System.out.println(super.t2); // OK: t2 OK
}
}
}