Java不支持多重继承,因为如果两个类具有相同的函数名称但实现方式不同,并且如果第三个类继承了这两个类并且希望使用该方法,那么它将在应该调用哪个方法上造成混乱。因此,java使用了多个接口的概念。但是我的疑问是,两个接口是否也具有相同的函数名但实现方式不同,并且如果第三类实现了这两个接口,并且在为该方法提供实现时,这不是问题,请解释一下?
最佳答案
当两个方法具有相同的参数但返回类型不同时,两个接口之间就会发生冲突。
例:
public class MultipleInterfaceClash {
public interface Foo {
String baz(int a, String x);
}
public interface Bar {
Double baz(int a, String x);
}
public class Confused implements Foo, Bar {
// Compile error: The return type is incompatible with
// MultipleInterfaceClash.Foo.baz(int, String)
public Double baz(int a, String x) {
return null;
}
}
}
不可能同时实现这两个接口。
关于java - 如果多重继承存在菱形图案问题,则多个接口(interface)也应具有相同的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13777568/