В Java, вообще говоря, этот указатель относится к объекту кода, к которому в данный момент осуществляется доступ. Однако, если вам нужно использовать объект внешнего класса во внутреннем классе, вам необходимо использовать имя класса внешнего класса для квалификации. это. Этот метод также относительно распространен в разработке под Android.
@Author: twlkyaopackage twlkyao;public class A { public A() { Inner Internal = new Inner(); // вызываем внешний метод внутреннего класса this.outer(); // вызываем внешний метод A. . } public void external() { System.out.println("внешний запуск" } class Inner { public void external(){ System.out.println("inner); run"); A.this.outer(); // вызов внешнего метода A. System.out.println("--------"); } } public static void main(String[] args) { А = новый А() }};
Inner — это внутренний класс, который обращается к методу external() в классе A. Поскольку анонимный внутренний класс имеет тот же метод, его необходимо уточнить с помощью указателя this класса A.
Результат:
внутренний беговой канал -------- внешний беговой путь