Прежде всего: внутренние интерфейсы по умолчанию являются «статическими». Невозможно иметь «внутренний» интерфейс, который не был бы статичным! См. здесь , чтобы узнать больше об этом аспекте.
С этой точки зрения интерфейсы - это всего лишь интерфейсы. Не имеет значения, являются ли они интерфейсом верхнего уровня, расположенным в собственном файле .java, или интерфейс находится в каком-то классе или около того.
И любой интерфейс может быть реализован с использованием анонимного внутреннего класса.
Это действительно все, что нужно для этого.
Чтобы ответить на комментарий:
так встроенная реализация, т.е. сам анонимный класс, становится внутренним классом интерфейса, который он реализует?
Нет, анонимный внутренний класс - это внутренний класс класса, который его окружает. Это происходит для реализации некоторого интерфейса. Это не внутренний класс интерфейса. Внутренний действительно подразумевается в «физическом» смысле, как в строках кода, содержащихся внутри других блоков кода.
class Outer {
class/interface Inner {
Inner
называется внутренним классом / интерфейсом, потому что он живет внутри Outer
.