public class Pos02 { static class Foo { Foo(X x) {} Foo(X x, Z z) {} } void testSimple() { Foo f1 = new Foo<>(1); Foo f2 = new Foo<>(1); Foo f3 = new Foo<>(1); Foo f4 = new Foo<>(1); Foo f5 = new Foo<>(1, ""); Foo f6 = new Foo<>(1, ""); Foo f7 = new Foo<>(1, ""); Foo f8 = new Foo<>(1, ""); } void testQualified() { Foo f1 = new Pos02.Foo<>(1); Foo f2 = new Pos02.Foo<>(1); Foo f3 = new Pos02.Foo<>(1); Foo f4 = new Pos02.Foo<>(1); Foo f5 = new Pos02.Foo<>(1, ""); Foo f6 = new Pos02.Foo<>(1, ""); Foo f7 = new Pos02.Foo<>(1, ""); Foo f8 = new Pos02.Foo<>(1, ""); } public static void main(String[] args) { Pos02 p2 = new Pos02(); p2.testSimple(); p2.testQualified(); } }