我可以从内部 class 访问 "secondary this" 吗?
Can I access the "secondary this" from an inner class?
我有基本的classes
abstract class Unit {
Unit target;
abstract class UnitAI {/*...*/}
}
从这些,我得出
class Infantry extends Unit {
class InfantryAI extends UnitAI {/*...*/}
}
class InfantryAI
能否以某种方式获得 次要 (implicit) this
用于访问它周围的成员 class Infantry
?
具体来说,它需要确定它周围的 class Infantry
是否被它的目标所瞄准,像这样:
if (/*secondary_this.*/target.target == secondary_this)
或者,一般来说,由另一个 Unit
。
您可以访问 outer this
通过在 class 名称前加上:
Infantry.this.target; //"this" of the Infantry class from inside InfantryAI
Unit.this.target; //"this" of the Unit class from inside UnitAI
这不适用于 static
嵌套的 classes,因为它们不属于外部 class.
的实例
我有基本的classes
abstract class Unit {
Unit target;
abstract class UnitAI {/*...*/}
}
从这些,我得出
class Infantry extends Unit {
class InfantryAI extends UnitAI {/*...*/}
}
class InfantryAI
能否以某种方式获得 次要 (implicit) this
用于访问它周围的成员 class Infantry
?
具体来说,它需要确定它周围的 class Infantry
是否被它的目标所瞄准,像这样:
if (/*secondary_this.*/target.target == secondary_this)
或者,一般来说,由另一个 Unit
。
您可以访问 outer this
通过在 class 名称前加上:
Infantry.this.target; //"this" of the Infantry class from inside InfantryAI
Unit.this.target; //"this" of the Unit class from inside UnitAI
这不适用于 static
嵌套的 classes,因为它们不属于外部 class.