JAVA中类不直接支持多继承,因为会出现调用的不确定性
所以JAVA将多继承机制进行改良,在JAVA中变成了多实现
但接口和接口之间是继承关系且可以多继承。
一个类可以实现多个接口
因为Test进行覆盖时,会同时覆盖A和B中的show( );
注:
多继承之所以不能被直接支持,是因为方法内有方法体
因为有方法体,所以会导致运行结果不确定性
接口中没有方法体,所以不会出现不确定性
注:
接口A和B中的同名方法需要返回值相同。
否则在子类覆盖时只能覆盖其中一个
从而造成子类变成一个抽象类
并且因为返回值类型不能区分重载,
所以在子类中也无法同时定义两个同名同参不同返回值的方法。
interface A
{
public abstract static show();
}
interface B
{
public abstract static show();
}
class Test implements A,B //多实现
{
public void show()
{
}
}