JAVA为什么放弃C的多继承

sure2003 2008-06-28 07:32:17
我觉得多接口本身就是多继承是同一个道理
而且多继承有多继承的好处
为什么JAVA要放弃C++的这个功能呢
...全文
203 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
接口的方式实现多继承


  "我觉得多接口本身就是多继承是同一个道理"  此言不对
zhj92lxs 2008-06-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 java2000_net 的回复:]
而且多继承有多继承的好处

这句话反过来说也一样。

1 而且多继承有多继承的坏处
2 而且单继承有单继承的好处

如果和C++相同,我想Java没必要出现了.

OVER


[/Quote]
gesanri 2008-06-28
  • 打赏
  • 举报
回复
c++支持多重继承,这是c++的一个特征,它允许多父类派生一个类。尽管多重继承功能很强,但使用复杂,而且会引起许多麻烦,编译程序实现它也很不容易。Java不支持多重继承,但允许一个类继承多个接口(extends+implement),实现了c++多重继承的功能,又避免了c++中的多重继承实现方式带来的诸多不便。
our651 2008-06-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yifuzhiming 的回复:]
java可以通过实现接口的方式实现多继承啊,
[/Quote]
不是,java实际是通过内部类的方式实现多继承的
yifuzhiming 2008-06-28
  • 打赏
  • 举报
回复
java可以通过实现接口的方式实现多继承啊,
老紫竹 2008-06-28
  • 打赏
  • 举报
回复
而且多继承有多继承的好处

这句话反过来说也一样。

1 而且多继承有多继承的坏处
2 而且单继承有单继承的好处

如果和C++相同,我想Java没必要出现了.

OVER

sagezk 2008-06-28
  • 打赏
  • 举报
回复
Java 不支持多继承,接口也好内部类也好只是对真正意义上的多继承的模拟,Java 去掉多继承这一语言特性是因为它造成的麻烦远比它带来的好处多,且多继承并不是非常常用,另外多继承的语法和内部冲突的解决方法晦涩难懂(8楼所说的菱形继承是最要命的,想把什么是虚基类弄懂可不是什么容易的事儿),这也增加了使用它的难度和危险,所以 Java 中去掉了这一语言特性。
  • 打赏
  • 举报
回复
好像看到一篇文章。说sun公司有个专家希望把多继承加入到新的版本。不知道真的假的。
sagezk 2008-06-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 our651 的回复:]
引用 3 楼 yifuzhiming 的回复:
java可以通过实现接口的方式实现多继承啊,

不是,java实际是通过内部类的方式实现多继承的
[/Quote]
看看 C++ 多继承的概念先!!!
sagezk 2008-06-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yifuzhiming 的回复:]
java可以通过实现接口的方式实现多继承啊,
[/Quote]
是模拟多继承!!!
zhangzhixin_1982 2008-06-28
  • 打赏
  • 举报
回复
java没有意义上的去掉指针操作,而且对指针进行了合理的封装操作
jieao111 2008-06-28
  • 打赏
  • 举报
回复
java我感觉就是把c++里难处理的东西去掉。。 比如指针
jieao111 2008-06-28
  • 打赏
  • 举报
回复
c++也很少用多继承。。而且相当不好用,很多人称它为魔鬼。。比如mfc就避免多继承
likgui 2008-06-28
  • 打赏
  • 举报
回复
避免菱形继承

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧