class A { public A(Object o) { } } class B {} class C extends B { static { A a = new A(this) {}; A a1 = new A(super.clone()) {}; } { A a = new A(this); } }