2012-10-02 75 views
0

我有一个疑问,假设在我的类(比如包含类)我有一个字段实例是参考类型的对象(比如另一类作为示例,调用它内部类),在运行时何时在堆上创建了包含类的对象,包含类是否存储了整个内部类对象,或者包含类是否存储了内部类的引用呢?位置对象

internal class ContaingClass 
    { 
     private InnerClass objInner; 
    } 

ContainingClass的对象是否有objInner的引用或应该存储整个objInner及其所有的数据?

回答

1

InnerClass是它存储为refence到实例的引用类型。

这里是埃里克利珀,说明在执行过程中发生了什么细节an answer

+0

感谢您的回答,@PHeiberg:一个更quesry,如果内实例变量将是值类型,那么ContainingClass的对象将是具有它存储在它的或基准值的装箱值类型的对象? – mohits00691

+0

ContainingClass将保存值类型的值,而不是引用。 – PHeiberg

1

在构建时它将在该字段中包含空引用(假设您的构造函数未将其设置为任何内容)。该字段稍后可以分配给对实例的引用,但该实例的“内容”不会存储在ContainingClass的“内容”中。