public class Pos04 { void test() { class Foo { Foo(V x) { } Foo(V x, Z z) { } } Foo p1 = new Foo< >(1); //new Foo created Foo p2 = new Foo< >(1); //new Foo created Foo p3 = new Foo< >(1); //new Foo created Foo p4 = new Foo< >(1); //new Foo created Foo p5 = new Foo< >(1) { }; //new Foo created Foo p6 = new Foo< >(1) { }; //new Foo created Foo p7 = new Foo< >(1) { }; //new Foo created Foo p8 = new Foo< >(1) { }; //new Foo created Foo p9 = new Foo< >(1, ""); //new Foo created Foo p10 = new Foo< >(1, ""); //new Foo created Foo p11 = new Foo< >(1, ""); //new Foo created Foo p12 = new Foo< >(1, ""); //new Foo created Foo p13 = new Foo< >(1, "") { }; //new Foo created Foo p14 = new Foo< >(1, "") { }; //new Foo created Foo p15 = new Foo< >(1, "") { }; //new Foo created Foo p16 = new Foo< >(1, "") { }; //new Foo created } public static void main(String[] args) { Pos04 p4 = new Pos04<>(); p4.test(); } }