java类是否可以多继承,怎么实现多继承?
展开全部
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继承他们
也是抽象的
这个不就可以继承了吗?
由实现的例子就可以推出来
,接口确实是可以多继承的。
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继承他们
也是抽象的
这个不就可以继承了吗?
由实现的例子就可以推出来
,接口确实是可以多继承的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询