Почему внутренний класс не может использовать статический инициализатор?
QuothJLS # 8.1.3:
Внутренние классы могут не объявлять статические инициализаторы (§ 8.7) ......
Это демонстрируется как таковой:
class A {
class B {
static { // Compile-time Error: Cannot define static initializer in inner type A.B
System.out.println("Class is initializing...");
}
}
}
Теперь, поскольку внутренние (нестатические) классы Java загружаютсягрузчики класса Как и у любого другого класса, почему у нас не может быть статических инициализаторов для них?
В чем причина этого ограничения?