1,java中只能利用接口达到多实现而已,跟多继承相仿
2,java中唯一可以实现多继承的 就是接口与接口之间了。
先说继承 比如
class fu1
{
void show(){}
}
class fu2
{
void show(){}
}
class zi extends fu1,fu2
{
void show(){}
}
这时候 创建zi引用 调用show方法 java 虚拟机 就不知道该调用父类的哪个show方法了
同理 在接口中
class fu1
{
void show();
}
class fu2
{
void show();
}
class zi extends fu1,fu2
{
void show(){}
}
接口的fu1 和 f2 的show方法都是abstract的 抽象的 是没有方法体的
所以只有子类的show方法是有方法体的 所以接口 可以多实现 也就是变量的多继承
所以也可以推出 接口与接口之间也是可以多继承的 就算接口a 的父类接口 b和c都有同一个方法show()
但是他们都是抽象方法 a继承他们 也是抽象的 这个不就可以继承了吗? 由实现的例子就可以推出来 ,接口确实是可以多继承的。 |
|