Zugriff auf die äußere Klasse von einer anonymen inneren Klasse aus
Im bereitgestellten Codeausschnitt:
public class a { public void otherMethod(){} public void doStuff(String str, InnerClass b){} public void method(a){ doStuff("asd", new InnerClass(){ public void innerMethod(){ otherMethod(); } } ); } }
Die Frage entsteht: Können wir von der anonymen inneren Klasse aus direkt auf die Methoden der äußeren Klasse zugreifen?
Lösung: Verwenden von OuterClassName.this
Um innerhalb einer anonymen inneren Klasse auf die äußere Klasse zu verweisen, verwenden Sie die Syntax OuterClassName.this. In diesem Beispiel würden Sie zum Aufrufen der otherMethod()-Methode der äußeren Klasse a a.this.otherMethod() verwenden.
Daher wäre die vollständige Version der innerMethod()-Methode:
public void innerMethod(){ a.this.otherMethod(); }
Das obige ist der detaillierte Inhalt vonWie können Sie innerhalb einer anonymen inneren Klasse auf Methoden der äußeren Klasse zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!