A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 钟佩桓 中级黑马   /  2013-4-1 00:04  /  1697 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 钟佩桓 于 2013-4-1 12:19 编辑

看到继承这里有个小小的问题 java只支持单继承,为什么不支持多继承?
比如classA 里面定义了一个getMax();的功能 calssB里面定义了一个getMin();的功能 ;那么class c要是既想有获取最大值的功能有想拥有获取最小值的功能,不可以用
class c extends A,B吗?求大神给个解释。

评分

参与人数 1技术分 +1 收起 理由
张熙韬 + 1 赞一个!

查看全部评分

5 个回复

倒序浏览
java中只支持单继承,这是java中的语法规则。必须遵从的。
像你所说要得到两个类中的方法,可以把其中一个或全部定义为接口。
因为java是支持多实现的。

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

回复 使用道具 举报
HM刘俊 发表于 2013-4-1 00:12
java中只支持单继承,这是java中的语法规则。必须遵从的。
像你所说要得到两个类中的方法,可以把其中一个 ...

额···我刚看到继承  还没学接口~~~=。=
回复 使用道具 举报
如果想最大值的功能和最小值的功能,都获取的话可以class A extends B, class Aextends C.
你想一下,如果B类和C类两个类中出现了一样的方法,你说调用那一个呢?这个问题我估计java虚拟机都不知道调用谁吧,因此人为的规定不能多继承,从而出现接口,可以实现多实现关系.可称之为"多继承"

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

回复 使用道具 举报
java只支持单继承,不支持多继承。这是java语法规则,定死了的。
回复 使用道具 举报
java语言中,java只支持单继承、不支持多继承。
多继承可能带来安全隐患:当多个父类中定义了相同的功能,但功能的内容不同时,子类对象不确定要运行哪一个。  毕老师的视频里明确讲过。
C++中支持多继承,java优化了C++的部分,使java语言简单易学。
但是java保留了这种机制,用另一种体现形式来表示,即多实现。

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马