Java支持多继承吗

Java支持多继承吗,第1张

可以多继承接口,但是不能多继承普通类。

类定义属性和方法 描述某一类事物的抽象

而接口定义的是行为 并不限于任何具体意向。

按照逻辑上来说 单继承更明确 一个子类就应该是其父类代表的事物中的某个更具体的类别 不应该即是这种东西又是那种东西 。

而从实用角度上来说 单继承易读 易维护 语义清晰 逻辑清楚。

而接口则不同 接口只定义一些公共行为 比如有两个接口 一个定义了跑这个动作 另一个定义了走这个动作 人这个类就可以同时实现这两个接口所定义的行为 。

类对接口的implements称作实现 不能叫做继承 。

当然 接口可以多继承接口 因为接口只定义行为 并不包含类别的含义 不指代具体的某类事物 而且 从语义上来说 接口对接口的继承称之为扩展更为合适。

一个类不能直接继承多个类,java是单继承语言。

比如说这样:class A extends B,C 不能这样写,因为java不支持多继承。

但是可以像下面这样实现继承多个类:class A extends B,class C extends A,这样C就同时继承了B和A两个类了。

如果是单继承的话,使用extends关键字来完成。

java不支持多继承,但使用接口可以弥补这点,使用implements关键字来完成多个接口的继承。

你可以在网上搜些例子看看。

C

[解析] 本题考查Java中多重继承的概念。首先要区分选项中各个概念,内部类是在一个类小的内部嵌套定义的类,主要用来生成事件适配器。适配器定义一个包装类,包装有不兼容接口的对象。这个包装类指的就是适配器(Adapter),它包装的对象就是适配者(Adaptee),适配器提供客户类需要的接口。接口是―种只含有抽象方法或常量的一种特殊的抽象类,因为接口不包括任何实现,所以与存储空间没有任何关系,将多个接口合并,即多重继承就可以很容易实现,选项C正确,同步主要用在多线程程序设计中。

摘自百度文库,望采纳

1,java 是不可以继承多个类,java是单继承的,但是java 通过 接口可以实现多继承

2,也就是说, 一个java类只能继承一个父类, 但可以有多个接口

3,若子类继承的父类中拥有相同的成员变量,子类在引用该变量时将无法判别使用哪个父类的成员变量。如:

public class classA // 父类 classA

{

private int num = 0;

}

public class classB // 父类 classB

{

private int num = 1;

}

public class classC extends classA,classB // 子类 classC 继承于 classA 和 classB

{

public static void main(String [] args)

{

classC obj = new classC();

objprint(); // 调用父类成员变量 num , 那 num 等于 0 还是 1 ?

}

public void print()

{

Systemoutprintln(supernum);

}

}

2若一个子类继承的多个父类拥有相同方法,同时子类并未覆盖该方法(若覆盖,则直接使用子类中该方法),那么调用该方法时将无法确定调用哪个父类的方法。如:

public class classA // 父类 classA

{

public void fun()

{

Systemoutprint("hello");

}

}

public class classB // 父类 classB

{

public void fun()

{

Systemoutprint("hello");

}

}

public class classC extends classA,classB

{

public static void main(String [] args)

{

classC t = new classC();

tprint();

}

public void print()

{

superfun(); // 调用父类中 fun 方法,但由于classA、classB都有fun()方法,将无法确定使用

// 哪个父类中的方法

}

}

因此,Java仅允许单继承,即一个子类只能继承于一个父类。但为了拓展子类的功能,Java使用接口以克服不使用多继承带来的不足。

接口是一个特殊的抽象类,接口中成员变量均默认为 static final 类型,即常量,且接口中的方法都为抽象的,都没有方法体。

资料来源:>

以上就是关于Java支持多继承吗全部的内容,包括:Java支持多继承吗、java 中怎么样同时继承两个类、java单继承和多继承分别如何实现等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10118137.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存