Java中, 一般來說this指標指的是目前正在存取的這段程式碼的對象,但是如果在內部類別中需要使用外部類別中的對象,這時就需要使用外部類別的類別名稱進行限定。 這種方式在Android開發中也比較常見。
@Author: twlkyaopackage twlkyao;public class A { public A() { Inner inner = new Inner(); inner.outer(); // call the inner class's outer method. this.outer(); // call A's outer method . } public void outer() { System.out.println("outer run"); } class Inner { public void outer(){ System.out.println("inner run"); A.this.outer(); // call A's outer method. System.out.println("--------") ; } } public static void main(String[] args) { A a = new A(); }}
Inner是內部類,存取類A中的outer()方法,又由於匿名內部類別中有相同的方法,所以需要使用A的this指標來限定。
輸出結果為:
inner runouter run--------outer run