Есть ли способ получить доступ к анонимному внешнему классу?Нормальный класс может быть доступен ClassName.this.Это не работает, поскольку у анонимного класса, очевидно, нет имени.Я также попытался использовать расширенный класс / интерфейс (например, Runnable.this), но не похоже, что он будет работать таким образом.
Я уверен, что это не лучший стиль кодирования, япросто любопытно, если это возможно без сохранения этого внешнего в переменной.
Пример, обратите внимание на external.this:
public class A
{
public static void main(String[] args) {
new Thread(new Runnable() {
@Override
public void run() {
new Thread(new Runnable() {
@Override
public void run() {
synchronized (outher.this) {
outher.this.notify();
}
}
}).start();
try {
synchronized (this) {
wait();
}
} catch (final InterruptedException ex) {}
}
}).start();
}
}