¿Por qué se permite que las constantes de tiempo de compilación se vuelvan estáticas en clases internas no estáticas?

Supongamos que tenemos el código de la siguiente manera.

public class Outer{
    class Inner{
        public static final String s = "abc";
    }
    static class Nested{
        public static final SomeOtherClass instance = new SomeOtherClass();
    }
} 

Entiendo instanciar objeto declases internas no estáticas unSe necesita un objeto de clase externa. static significa relacionado con la clase y para acceder a él no se requiere instanciar un objeto. La clase interna no estática solo puede usarse una vez que tenemos un objeto de clase externa instanciado. Tener referencias estáticas puede no tener sentido.

Mis preguntas:

¿Se puede cargar la clase interna no estática sin ningún objeto explícito de la clase externa?

Por quécompilar constantes de tiempo (Se permiten los literales de cadena, ya que se manejan de manera especial en el conjunto de cadenas y los tipos primitivos)estático enclase interna no estática ?

Editar: ¿Por qué no se puede permitir que las constantes de tiempo sin compilación se vuelvan estáticas? Sé que es según JLS, pero solo deseo saberqué hubiera salido mal, cuál era la intención de hacer esta regla.

Respuestas a la pregunta(2)

Su respuesta a la pregunta