java中的接口为什么可以多继承,而其他类则不能实现多继承

 我来答
无敌Joran
2013-05-06 · TA获得超过377个赞
知道答主
回答量:153
采纳率:0%
帮助的人:105万
展开全部
java语言就是这样规定的,接口可以多继承,接口也是类,其实相当于类也可以多继承,这也是java避免了这个缺点
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yfjcpu
2018-10-28
知道答主
回答量:2
采纳率:0%
帮助的人:2043
展开全部
子类通过方法名称实现对父类方法的继承或者覆写,这句话相信学过java的人都明白的吧?

另外,java规范里面,方法名称和参数(类型与数量)唯一确定一个方法;
好了,说完了前提,现在可以举个例子了,现在有两个父类,其中有相同的方法fun(),子类如果能够多继承,那必定是通过方法名称继承两个fun()方法,此时还不会有什么问题;但在子类对象生成以后调用fun()时,JVM该怎么判断子类想要调用那个fun()?
所以类不能进行多继承,为的是规避如上(包括不限于)的逻辑问题,为了彻底避免该类问题,所以直接在语法上规定了不能多继承;所以语法规定不是原因,而是为了规避逻辑问题。
而对于接口跟接口之间,接口跟父类之间,其实也存在类似于类的同名方法问题,但因为接口方法只是抽象方法,其自由度大,所以可以通过多种方法去解决这个逻辑问题:比如通过内部类区分,通过super关键字(针对接口与父类中存在同名方法的问题)重写方法等等。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式