在对象初始值设定项中使用“this”
本文关键字:this 对象 | 更新日期: 2023-09-27 18:36:28
我有以下问题:
public class ChildClass{
public Object Parent = null;
}
public class ParentClass{
public ChildClass CreateChild(){
return new ChildClass{ Parent = this; }
}
}
我在理解对象初始值设定项时遇到了一些困难。在CreateChild()
方法中,this
是指ParentClass
还是ChildClass
?
this
将引用它所在的类。
在示例中,this
将是 ParentClass
的一个实例,因为它是在 ParentClass
的主体中声明的。
执行 CreateChild 的 ParentClass 实例(尽管以当前的方式,您的代码可能无法编译)。this = 当前类的实例,在本例中为父类
它始终是指以文本方式嵌入它的类。在这种情况下,ParentClass
.
更新
对象初始值设定项不在 ChildClass
中,而是在 ParentClass
内。因此,this
是指ParentClass
的当前实例。对象初始值设定项不属于ChildClass
而是属于ParentClass
的方法CreateChild
的代码。介于"公共类 ParentClass{" 和最终 "}" 之间的所有内容都属于 ParentClass
。