class Test { interface A { void m(); } interface B { void m(); } interface C extends A, B { } { C c = ()-> {}; } } class Test1 { interface F { void m(); } { F f = this::g; } void g() {} } class Test2 { interface F { void m(); void a(); } { F f = () -> g(); } void g() {} }