Что такое Class.this в Java?

SomeClass. этот используется внутри анонимных классов для ссылки на включающий класс.

Вот пример:

 class Enclosing {void method  (Включая другое) {//...} void otherMethod () {new Runnable () {public void run () {method (this); //Не компилируется.  'this' - это Runnable!  метод (Enclosing.this); //Компилируется нормально.  }        }.запустить();  }} 

В приведенном выше коде this относится к объекту класса где он используется (т. е. Runnable ). Для ссылки на внешний объект класса Enclosing можно использовать Enclosing.this .

Код

Давайте посмотрим на рабочий пример того, как можно использовать Enclosing.this :

 класс  Включение {void method (Включение другого) {System.out.println ("Метод доступа");  } void otherMethod () {new Runnable () {public void run () {//метод (это); //Не компилируется.  'this' - это Runnable!  метод (Enclosing.this); //Компилируется нормально.  }        }.запустить();  } public static void main (String args []) {Enclosing e = new Enclosing ();  e.otherMethod ();  }} 

Оцените статью
nanomode.ru
Добавить комментарий