Почему Java запрещает наследование внутреннего интерфейсы?

I.e. почему следующая «циклическая зависимость» невозможна?

public class Something implements Behavior {
    public interface Behavior {
        // ...
    }
}

Поскольку интерфейсы не ссылаются на внешний класс, это должно быть разрешено; однако компилятор вынуждает меня определять эти интерфейсы вне класса. Есть ли какое-нибудь логическое объяснение такому поведению?

19
задан Philip Kamenarsky 3 November 2011 в 10:46
поделиться