I tried to declare a class as shown below
class Outer{
private final class Inner{
public static final String s1 = new String(\"123\");
public
Inner classes were designed to work in the context of the outer class, I think static variables would break this rule.
8.1.2 Inner Classes and Enclosing Instances
An inner class is a nested class that is not explicitly or implicitly declared static. Inner classes may not declare static initializers (§8.7) or member interfaces. Inner classes may not declare static members, unless they are compile-time constant fields (§15.28).