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.
您可以通过添加类名来访问外部 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嵌套类,因为它们不属于外部类的实例.