我可以从内部类访问"secondary this"吗?

Ste*_*vić 3 java nested derived-class inner-classes

我有基础课

abstract class Unit {
    Unit target;
    abstract class UnitAI {/*...*/}
}
Run Code Online (Sandbox Code Playgroud)

从这些,我得出了

class Infantry extends Unit {
    class InfantryAI extends UnitAI {/*...*/}
}
Run Code Online (Sandbox Code Playgroud)

类可以以InfantryAI某种方式获得用于访问其周围类的成员的辅助(隐式)吗?thisInfantry

具体来说,它需要确定其周围的类Infantry是否被其目标所针对,如下所示:

if (/*secondary_this.*/target.target == secondary_this)
Run Code Online (Sandbox Code Playgroud)

或者,通常是另一个人Unit.

tka*_*usl 6

您可以通过添加类名来访问外部 this:

Infantry.this.target; //"this" of the Infantry class from inside InfantryAI
Unit.this.target; //"this" of the Unit class from inside UnitAI
Run Code Online (Sandbox Code Playgroud)

这不适用于static嵌套类,因为它们不属于外部类的实例.