Java多继承和多实现 怎么回事?
3个回答
2018-08-03 · 知道合伙人软件行家
关注
展开全部
1、java只能单继承 但是可以多实现!继承是指继承某个类,实现是指实现某个接口!
Java不支持多继承,但是通过一些巧妙的设计来达到和多继承同样的效果
通过接口、内隐类,继承、实现,互相配合,达到多继承的效果
2、实现:
通过interface关键字进行实现,但并不涉及到实现细节,不与任何存储空间有关连。
可以实现合并多个 interface ,达到可向上转型为多种基类的目的。
新类可继承自一个具象class,其余继承都得是interfaces。
Java不支持多继承,但是通过一些巧妙的设计来达到和多继承同样的效果
通过接口、内隐类,继承、实现,互相配合,达到多继承的效果
2、实现:
通过interface关键字进行实现,但并不涉及到实现细节,不与任何存储空间有关连。
可以实现合并多个 interface ,达到可向上转型为多种基类的目的。
新类可继承自一个具象class,其余继承都得是interfaces。
展开全部
在java当中,每个类(类java.lang.Object除外)有且仅有一个直接父类(下面有注释),只能多继承接口,不能多继承类,接口之间用逗号隔开(注意继承接口时要实现接口中的方法)
class fu1
{
void show();
}
class fu2
{
void show();
}
class zi extends fu1,fu2
{
void show(){}
}
注释:类的定义格式如下
【类修饰词列表】 class 类名 【extends 父类名】 【implements 接口名称列表】
{
类体
}
①其中【】中的内容不是必须写的(在定义类的时候不用写【】,直接写当中的内容)
②如果含有"extends 父类名",则由该选项指定的父类是当前定义类的直接父类,否则当前定义类的直接父类是类java.lang.Object
③继承关系具有传递性:例如类A有父类B,类B拥有父类C,则C也可以称为是A的父类(不是直接父类)
class fu1
{
void show();
}
class fu2
{
void show();
}
class zi extends fu1,fu2
{
void show(){}
}
注释:类的定义格式如下
【类修饰词列表】 class 类名 【extends 父类名】 【implements 接口名称列表】
{
类体
}
①其中【】中的内容不是必须写的(在定义类的时候不用写【】,直接写当中的内容)
②如果含有"extends 父类名",则由该选项指定的父类是当前定义类的直接父类,否则当前定义类的直接父类是类java.lang.Object
③继承关系具有传递性:例如类A有父类B,类B拥有父类C,则C也可以称为是A的父类(不是直接父类)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Java不支持多继承,但是通过一些巧妙的设计来达到和多继承同样的效果
通过接口、内隐类,继承、实现,互相配合,达到多继承的效果
1、Java中一个类不能继承多个具体class。
2、一个类只可继承自一个具体 class,但可实现多个接口。
interface不涉及到实现细节,不与任何存储空间有关连。
可以实现合并多个 interface ,达到可向上转型为多种基类的目的。
新类可继承自一个具象class,其余继承都得是interfaces。
3、outer class不可继承自多个具体 class,可在其内部设多个inner class,每个inner class都能各自继承某一实现类。
inner class不受限于outer class 是否已经继承自某一实现类。
4、inner class可以说是多重继承问题的完整解决方案。
inner class 可 “继承自多个具象或抽象类”。
一个类不能继承自多个一般类。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询