由于整个继承层次结构在创建子类对象时被实例化,我想知道,是否可以在客户端类中访问类ClassA的对象?
这是很多人感到困惑的事情.如果创建子类的对象,那并不意味着它创建超类的对象.
它只是调用超类的构造函数,只是为了确保在超类中初始化所有必需的字段,但这不会创建超类的对象.
这个问题将帮助您理解这个概念.
检查凯文的答案:
它不会创建两个对象,只有一个:B.
从其他类继承时,必须在构造函数中调用super().如果不这样做,编译器将为您插入该调用,您可以清楚地看到.
调用超类构造函数,因为否则对象将保持未初始化状态,可能是子类开发人员不知道的.