// Qualified new of static class class A { b b; A() { b.new c(); b.new inner(); new A.inner(); b.new A.inner(); new A.inner() {}; b.new A.inner() {}; } class inner {} void f() { char[] c = b.new char[0]; } } class b extends A { static class c {} } class WithAnonym { interface I {} class Inner{} } class WithAnonymInheritor extends WithAnonym { { this.new I() {}; this.new Inner() {}; } }