存储引用类型对象的实例字段的位置
我有一个疑问,假设在我的课(包含类),我有一个字段实例是一个引用类型的对象(说另一个类为例,称为内部类),在运行时包含类的对象创建在堆上,包含类是否存储了整个内部类对象,还是包含类存储内部类的引用呢?
internal class ContaingClass
{
private InnerClass objInner;
}
ContainingClass的对象是否有objInner的引用,或者应该存储整个objInner及其中的所有数据?
当InnerClass
是一个引用类型时,它被存储为实例的参考。
Eric Lippert解释了执行过程中发生的细节的答案。
在构建时,它将在该字段中包含一个空引用(假定您的构造函数未将其设置为任何内容)。 该字段稍后可以分配给对实例的引用,但该实例的“内容”不会存储在ContainingClass的“内容”中。
链接地址: http://www.djcxy.com/p/82595.html上一篇: location of storage of instance fields of reference type objects
下一篇: Local references and field references memory allocation