In Java bezieht sich dieser Zeiger im Allgemeinen auf das Objekt des Codes, auf den gerade zugegriffen wird. Wenn Sie jedoch ein Objekt in einer externen Klasse in einer internen Klasse verwenden müssen, müssen Sie zur Qualifizierung den Klassennamen der externen Klasse verwenden Es. Auch in der Android-Entwicklung ist diese Methode relativ verbreitet.
@Author: twlkyaopackage twlkyao;public class A { public A() { Inner inner = new Inner(); // äußere Methode der inneren Klasse aufrufen . } public void OUTER() { System.out.println("outer run"); } class Inner { public void OUTER(){ System.out.println("inner run"); A.this.outer(); // Rufe die äußere Methode von A auf. System.out.println("--------"); } } public static void main(String[] args) { A a = neues A(); }}
Inner ist eine innere Klasse, die auf die Methode „outer()“ in Klasse A zugreift. Da die anonyme innere Klasse über dieselbe Methode verfügt, muss sie mithilfe des Zeigers „this“ von A qualifiziert werden.
Die Ausgabe ist:
innerer Rundlauf--------Außenlauf