1

我有以下问题:

public class ChildClass{
   public Object Parent = null;
}
public class ParentClass{
   public ChildClass CreateChild(){
        return new ChildClass{ Parent = this; }
   }
}

我对对象初始化器的理解有点困难。在CreateChild()方法中,是否thisParentClassChildClass

4

3 回答 3

4

this将引用它所在的班级。

在示例中,this将是 的实例ParentClass,因为它是的主体中声明的ParentClass

于 2012-06-06T19:19:30.557 回答
1

它始终指代文本嵌入的类。在这种情况下ParentClass


更新

对象初始化器不在内部,ChildClass而是在ParentClass. Therforethis指的是 的当前实例ParentClass。对象初始值设定项不属于,ChildClass而是属于 的方法CreateChild的代码ParentClass。“public class ParentClass{”和最终的“}”之间的所有内容都属于ParentClass.

于 2012-06-06T19:21:11.580 回答
1

到执行 CreateChild 的 ParentClass 的实例(尽管以当前的方式,您的代码可能无法编译)。this = 当前类的实例,在这种情况下是父类

于 2012-06-06T19:21:39.770 回答