我有以下问题:
public class ChildClass{
public Object Parent = null;
}
public class ParentClass{
public ChildClass CreateChild(){
return new ChildClass{ Parent = this; }
}
}
我对理解对象初始化器有点困惑。在CreateChild()
方法中,this
是否会引用ParentClass
或ChildClass
?
答案 0 :(得分:4)
this
将引用它所在的类。
在示例中,this
将是ParentClass
的一个实例,因为它在 ParentClass
的正文中声明为。
答案 1 :(得分:1)
它始终指的是文本嵌入的类。在这种情况下,ParentClass
。
<强>更新强>
对象初始值设定项不在ChildClass
范围内,但在ParentClass
范围内。因此this
引用ParentClass
的当前实例。对象初始值设定项不属于ChildClass
,但是属于CreateChild
的方法ParentClass
的代码。 “公共类ParentClass {”和最终“}”之间的所有内容都属于ParentClass
。
答案 2 :(得分:1)
执行CreateChild的ParentClass实例(尽管目前的代码可能不会编译)。 this =当前类的实例,在本例中是父类