【发布时间】:2016-03-24 18:45:44
【问题描述】:
我的问题是我们是否可以在实例化子类时访问和使用间接/隐式创建的超类对象。
假设ClassA 是SubClassofA 的超类,我们在客户端类ClientClass 中使用SubClassofA object = new SubClassofA(); 实例化SubClassofA
由于在创建子类对象时会实例化整个继承层次结构,所以我想知道,是否可以在客户端类中访问类 ClassA 的对象?
如果不可能,可能是什么原因?如果我们可以在不重新创建超类对象的情况下访问超类对象,难道不会节省大量堆内存吗?
我可能误解了构造函数链接和继承层次结构的整个概念,但请让我知道您对此的看法。
public class ClassA {}
public class SubClassofA extends ClassA {}
public class ClientClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
SubClassofA object = new SubClassofA();
//Above construct means that an instance of super class ClassA exists too
// If we can use those super class instances directly, will it result in memeory saving?
//is it even possible to access implicitly created super class objects tied to subclass?
}
}
【问题讨论】:
-
是的。根据方法的权限。
标签: java inheritance