Warum kann eine innere Klasse keinen statischen Initialisierer verwenden?

QuothJLS # 8.1.3:

Innere Klassen deklarieren möglicherweise keine statischen Initialisierer (§8.7) ......

Dies wird als solches demonstriert:

class A {
    class B {
        static { // Compile-time Error: Cannot define static initializer in inner type A.B
            System.out.println("Class is initializing...");
        }
    }
}

Jetzt da Javas innere (nicht statische) Klassen von geladen werdenKlassenlader Warum können wir wie in jeder anderen Klasse keine statischen Initialisierer für sie haben?

Was ist der Grund für diese Einschränkung?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage