( ), - . : # - # Java, static # static Java.
1
, , :
public static final TestClass CONSTANT = new SomeConcreteTestClass().new InnerClass(5);
( SomeConcreteTestClass - , TestClass)
, :
public static final TestClass CONSTANT = ((TestClass) null).new InnerClass(5);
, InnerClass, , , :
, , , (ยง4.12.4).
, :
public abstract class TestClass
{
private final int data;
protected TestClass(int data) { this.data = data; }
public final class InnerClass extends TestClass
{
private InnerClass(int data) { super(data); }
}
public static final TestClass CONSTANT = ((TestClass) null).new InnerClass(5);
}
2
InnerClass static:
public static final class InnerClass extends TestClass
static . # ( generics -, ...) , ...