Можно ли сделать что-то подобное (я использую блоки инициализатора для сокращения примера)
new A() {{
new B() {{
method(outer.this);
}}
}}
Где я передаю this внешнего объекта в качестве параметра для вызова метода во втором анонимномучебный класс?Я не могу использовать A.this, это дает ошибку компиляции.
Примечание: данный код не компилируется, он должен только иллюстрировать то, чего я пытаюсь достичь.
Редактировать: пример, которыйближе к реальному варианту использования:
public class Outer {
public SomeBean createBean() {
return new SomeBean() {
private final Object reference = new SomeClass() {
@Override
public void notify() {
Outer.callback(/*what goes here???*/);
}
};
//Methods...
};
}
public static void callback(final SomeBean bean) {
// do stuff with bean
}
}
И ошибка компиляции, которую я получаю, заключается просто в том, что я не предоставляю правильный аргумент для обратного вызова, поскольку я не знаю, как ссылаться на подкласс SomeBean...