2014-11-04 110 views
0

只是一个小混乱。 Java不允许多重继承。那么接口如何扩展多个接口呢?我们可以称之为继承吗?接口的多重继承

+0

嗯......也许与Java 8,可以在其中接口提供默认的方法。因为一个类可以实现多个接口,所以我们有类似多重继承的东西。 – sk2212 2014-11-04 09:39:08

+0

实现多接口是**多态**不是**继承**。 – Dmytro 2014-11-04 09:43:10

+0

@Dmytro这是不正确的。一个类型继承了它的超类型的所有公共成员。这包括类和接口类型的所有方法定义,嵌套类型和静态成员。 – 2014-11-04 09:45:45

回答

0

扩展多个接口的接口不构成多继承。由于您没有继承任何功能。

public interface A { 
    public void doSomething(); 
} 

public interface B { 
    public void doSomething(); 
} 

public interface C extends A, B { 

} 

绝对是很好的,因为你最终用(有效)的一种方法的单一界面:

public interface C extends A, B { 
    public void doSomething();  
} 
+0

谢谢但假设接口A和B包含两种不同的方法(比如m1和m2)。因此,C扩展了两个接口,它也将有m1和m2。因此,虽然C没有扩展任何功能,但它获得了A和B的行为。那么如何证明这一点。 – Leo 2014-11-04 10:16:29

+0

@Leo:这是合理的,因为它不会导致与多重继承相关的传统问题。您正在扩展接口的合同,而不是从类继承行为。 – StuPointerException 2014-11-04 10:58:42