public class Main {
public static class ClassBase {
public void test() {
System.out.println("1");
}
}
public static interface Interface {
default void test() {
System.out.println("2");
}
}
public static class MyClass extends ClassBase implements Interface {
}
public static void main(String[] args) {
new MyClass().test();
}
}
在这个例子中,它将始终打印1。 要打印2,我必须在
MyClass
中覆盖test
并返回Interface.super.test()
。有没有一种方法可以使
Interface::test
方法覆盖ClassBase::test
方法而不手动在MyClass
中覆盖该方法?
(在示例中打印2)
ClassBase
,而试图“注入”一个无关的接口? - shmosel