class Test { public static final BinaryOperator rPlus = (x, y) -> x + y; interface BinaryOperator extends Combiner { public T operate(T left, T right); @Override T combine(T t1, T t2) default { return operate(t1, t2); } } interface Combiner { V combine(T t, U u); } }