这是一个编译时错误。您不能从两个接口获得两个实现。
但是,如果在中实现该
getGreeting方法,则是正确的
C1:
public class C1 implements I1, I2 // this will compile, bacause we have overridden getGreeting(){ public static void main(String[] args) { System.out.println(new C1().getGreeting()); } @Override public String getGreeting() { return "Good Evening!"; }}我只想补充一点,即使I1中的方法是抽象的,而I2中的方法是默认的,您也无法实现它们两者。因此,这也是一个编译时错误:
public interface I1{ String getGreeting();}public interface I2{ default String getGreeting() { return "Good afternoon!"; }}public class C1 implements I1, I2 // won't compile{ public static void main(String[] args) { System.out.println(new C1().getGreeting()); }}


