Em Java, de modo geral, esse ponteiro se refere ao objeto do código que está sendo acessado no momento. No entanto, se você precisar usar um objeto em uma classe externa em uma classe interna, será necessário usar o nome da classe externa para se qualificar. isto. Este método também é relativamente comum no desenvolvimento Android.
@Autor: twlkyaopackage twlkyao;public class A { public A() { Inner inner = new Inner(); // chama o método externo da classe interna this.outer(); .} public void outer() { System.out.println("execução externa"); run"); A.this.outer(); // chama o método externo de A. System.out.println("--------"); } } public static void main(String[] args) { Uma = nova A();
Inner é uma classe interna que acessa o método outer() na classe A. Como a classe interna anônima tem o mesmo método, ela precisa ser qualificada usando o ponteiro this de A.
A saída é:
execução interna do runouter -------- execução externa