这是什么意思?
本文关键字:意思 是什么 | 更新日期: 2023-09-27 18:09:01
下面这一节关于构造函数初始化式的含义是什么?
实例构造函数初始化器不能访问正在创建的实例。因此,在构造函数初始化式的参数表达式中引用
this
是编译时错误,就像参数表达式通过simple-name引用任何实例成员也是编译时错误一样。
这意味着当构造函数初始化器运行时,实例仍处于创建过程中。因此,该初始化器不能通过this
或直接访问实例成员:
class Foo
{
private int _bar;
public Foo(int bar)
{
_bar = bar;
}
public Foo() : this(_bar) // Illegal.
{
}
public Foo() : this(this._bar) // Also illegal.
{
}
}
此推理适用于两个构造函数初始化式(this()
和base()
)。