class Outer { Comparable f() { return new Comparable<>() { @Override public int compareTo(String o) { return 0; } }; } interface I { void m(); } { I i1 = new I<>() { @Override public void m() {} }; I i2 = new I<>() { @Override public void m() {} public void m1() {} }; } }