假设我有以下课程:
public class BodyClass{
private LegClass myLeftLeg;
private LegClass myRightLeg;
private NoseClass myNose;
...
}
稍后在软件程序的某个深处,我将拥有一个 myRightLeg 的单独实例。
现在,为什么我不会轻易(或根本)知道这个右腿属于哪个 BodyClass 对象,更不用说这个实例变量包含在哪个 Class 中了?为什么在组合关系中,父类的信息不会在运行时自动存储在子对象中?
难道没有一个世界可以让 Java 延迟加载每个类变量以及有关父类本身的信息吗?
为什么这会很糟糕?这不是一个相当可靠的好处吗?
我听到人们说诸如子类之类的东西不应该知道它们的超类,而实例变量不应该知道它们的父类,但坦率地说,我不明白为什么不知道。
我的问题与这个问题有关: