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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 丶遇见另一个自 中级黑马   /  2013-8-24 23:02  /  1920 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 forward 于 2013-8-25 10:37 编辑

单继承:一个类只能有一个父类 叫做单继承
多继承:一个类可以有多个父类 叫做多继承
class a{
}
class b{
}
class c{
}
class c extends a {
}  //这个继承叫做单继承
class c extends a,b {
} //这个叫做多继承
小知识。。。。。。。。。。。。。。。。

评分

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

查看全部评分

11 个回复

倒序浏览
你这是要闹哪样...
回复 使用道具 举报
不知道楼主是分享?还是怎么的?Java并不支持多重继承,只支持单继承。像你:
class c extends a,b {
} //这个叫做多继承
这样的写法是错误的。Java没有多重继承,但是有多层继承,
class A{}
class B extends A{}
class C extends B{}
C类继承自B类,B类继承自A类。
虽然Java不支持多继承,但有另外一种变相的多继承,就是接口的多实现。
一个类可以实现多个接口。以拟补不支持多继承的缺陷。

评分

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

查看全部评分

回复 使用道具 举报
看到标题我蒙了,java除了实现接口还能多继承,看看肿么回事,楼上说的很清楚,也很正确,顶一个
回复 使用道具 举报
这个没有这么说的吧,C++中多继承不用extends关键字,而JAVA中不存在多继承!
所以这个命题完全是错误的!求技术分!
回复 使用道具 举报
我看完也怔了一下,不是单继承多实现嘛
回复 使用道具 举报
我也同样大吃一惊。楼主在java中只有单继承没有多继承。可以多实现,可以多层继承,可以在继承一个类的同时再实现一个或多个接口。
回复 使用道具 举报
不是只有接口才能“多继承”
回复 使用道具 举报
本帖最后由 张云飞 于 2013-8-25 10:37 编辑

目前的各大java版本不支持多继承的。即以下是错误的:class a{...}
class b{...}
class c extends a,b {...}
为解决此类设计要求,便有了接口。利用接口的多实现可以解决此类设计。即如下设计:

interface a{...}
interface b{....}
class c implements a,b{...}
至于继承与接口的区别这也是java基础的一大要点,顺便看看java抽象类和借口的区别:
注:接口是特殊的抽象类,而以下所说的“抽象类”默认指abstract修饰的类。
1、抽象类中可以有非抽象方法,接口中全是抽象方法。
2、接口中不能有私有方法和变量,抽象类中可以。
3、实现接口的类必须实现接口中的所有方法,实现抽象类的类可以有选择的实现抽象类中的类。
4、实现接口可以“多实现”,而继承抽象类只能继承一个抽象类。
5、接口还有标识(里面没有任何方法,如Remote接口)和数据共享(里面的变量全是常量)的作用。

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
本帖最后由 forward 于 2013-8-25 10:36 编辑

A(子类) extends (继承) B(父类) 单继承
父类可以被多个类继承子类可以被其他类继承
子类不能继承多个父类 用接口(implements)

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报
gulup 发表于 2013-8-24 23:11
不知道楼主是分享?还是怎么的?Java并不支持多重继承,只支持单继承。像你:
class c extends a,b {
} // ...

自己写的  哈哈 本人菜鸟 其实真心没有多继承 接口是多实现,包涵下哈
回复 使用道具 举报
张云飞 发表于 2013-8-25 10:15
目前的各大java版本不支持多继承的。即以下是错误的:class a{...}
class b{...}
class c extends a,b {... ...

自己写的  哈哈 本人菜鸟 其实真心没有多继承 包涵下哈
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马