interface OfInt extends Sink { default void accept(Integer i) {} } interface Sink extends Block { } interface Block { public void accept(T t); } class Hello1 implements Sink, OfInt {} class Hello2 implements OfInt, Sink{}