什么是;将此限定为“;用java构造mean?
在项目“第22项:喜欢静态成员类胜过非静态”中,Josh Bloch说: 非静态成员类的每个实例都与 其包含类的封闭实例。在非静态对象的实例方法内 成员类,您可以调用封闭实例上的方法或获取引用 使用限定的this构造返回封闭实例什么是;将此限定为“;用java构造mean?,java,jls,Java,Jls,在项目“第22项:喜欢静态成员类胜过非静态”中,Josh Bloch说: 非静态成员类的每个实例都与 其包含类的封闭实例。在非静态对象的实例方法内 成员类,您可以调用封闭实例上的方法或获取引用 使用限定的this构造返回封闭实例 他对这个构造进行限定是什么意思?如果没有限定符,x()将递归。使用限定符,将调用封闭实例的x()方法 class Envelope { void x() { System.out.println("Hello"); } class Enclosure
他对这个构造进行限定是什么意思?如果没有限定符,
x()
将递归。使用限定符,将调用封闭实例的x()
方法
class Envelope {
void x() {
System.out.println("Hello");
}
class Enclosure {
void x() {
Envelope.this.x(); /* Qualified*/
}
}
}
非静态成员类具有对封闭类实例的隐式引用。此术语的限定值是指封闭类的实例。如果封闭类是
A
,内部类是B
,则可以将B
中A
的封闭引用称为A EnclosingType。在计算机科学术语中,限定符或限定标识符是名称(选择路径)x.y.z
。这是java@pst+1之前的版本,因为您在注释中回答了它。我如何接受你的答案?一个标识符几乎不是答案——它需要一些上下文来解释它为什么有用。我现在没有足够的时间来公正地对待它。