У меня есть следующий сценарий иерархии классов; Класс A имеет метод, а класс B расширяет класс A, где я хочу вызвать метод из суперкласса из локально вложенного класса. Надеюсь, что структура скелетной структуры более очевидна в сценарии Разрешает ли Java такие звонки?Явные локальные классы Java и доступ к супер-методам
class A{
public Integer getCount(){...}
public Integer otherMethod(){....}
}
class B extends A{
public Integer getCount(){
Callable<Integer> call = new Callable<Integer>(){
@Override
public Integer call() throws Exception {
//Can I call the A.getCount() from here??
// I can access B.this.otherMethod() or B.this.getCount()
// but how do I call A.this.super.getCount()??
return ??;
}
}
.....
}
public void otherMethod(){
}
}
Вы действительно уверены, что хотите вызвать переопределенные методы реализации внешнего класса из внутреннего класса? Кажется, это правильный беспорядок для меня. –
@Tom Hawtin - Я считаю, что это правильно «локальный анонимный» класс, а не «внутренний» класс, что делает его гораздо более беспорядочным. – emory
@emory Технически анонимные внутренние классы являются локальными классами - это внутренние классы. –