在对象初始值设定项中使用“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将引用它所在的类。

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

执行 CreateChild 的 ParentClass 实例(尽管以当前的方式,您的代码可能无法编译)。this = 当前类的实例,在本例中为父类

它始终是指以文本方式嵌入它的类。在这种情况下,ParentClass.


更新

对象初始值设定项不在 ChildClass 中,而是在 ParentClass 内。因此,this是指ParentClass的当前实例。对象初始值设定项不属于ChildClass而是属于ParentClass的方法CreateChild的代码。介于"公共类 ParentClass{" 和最终 "}" 之间的所有内容都属于 ParentClass