阅读Java语言规范,第3版,第8.1.3节。
内部类是未显式或隐式声明为static的嵌套类。内部类不得声明静态初始化器(第8.7节)或成员接口。
这就是为什么您不能声明 new的原因
public static final String s1 = new String("123");。内部类不得声明静态成员,除非它们是编译时常量字段(第15.28节)。
这说明了为什么可以做
public static final String s2 = "123";
静态嵌套类可以具有静态成员。

阅读Java语言规范,第3版,第8.1.3节。
内部类是未显式或隐式声明为static的嵌套类。内部类不得声明静态初始化器(第8.7节)或成员接口。
这就是为什么您不能声明 new的原因
public static final String s1 = new String("123");。内部类不得声明静态成员,除非它们是编译时常量字段(第15.28节)。
这说明了为什么可以做
public static final String s2 = "123";
静态嵌套类可以具有静态成员。