Это на самом деле не проблема. Когда вы думаете об этом, он ничем не отличается от structure in C
, который содержит другие свои структуры или в следующем примере.
class Node {
Node left;
Node right;
}
Тот факт, что в примере, который выпроцитированное это просто иллюзия.
class A {
public B b_obj
public int n;
public int r;
}
class B extends A {
public in q;
}
So B has access to the following fields.
B b_obj
int n
int r
int q
Но, как и во всех отношениях классов, если вы назначите экземпляр B переменной типа A, то q не будет доступно. Но A всегда может получить доступ к элементам B через свой объект B, если он был назначен.