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 (); }}