Как Вы получаете ссылку на класс включения от анонимного внутреннего класса в Java? [дубликат]

Ничего себе, удивлено, что здесь так много ответов о переполнении ...

<div class="firstClass" onclick="this.className='secondClass'">
51
задан Jason Etheridge 21 September 2008 в 07:37
поделиться

3 ответа

Я просто нашел это недавно. Используйте OuterClassName.this.

class Outer {
    void foo() {
        new Thread() {
            public void run() {
                Outer.this.bar();
            }
        }.start();
    }
    void bar() {
        System.out.println("BAR!");
    }
}

Обновленный , Если Вы просто хотите сам объект (вместо того, чтобы вызвать участников), тогда Outer.this, способ пойти.

89
ответ дан Frank Krueger 7 November 2019 в 20:01
поделиться

Используйте EnclosingClass.this

20
ответ дан John Topley 7 November 2019 в 20:01
поделиться

Можно все еще использовать Outer.class для получения класса внешнего объекта класса (который возвратит тот же Объект класса как Outer.this.getClass (), но более эффективен)

, Если Вы захотите получить доступ к помехам в классе включения, можно использовать Outer.name, где имя является статическим полем или методом.

1
ответ дан Scott Stanchfield 7 November 2019 в 20:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: