您的位置:

java多继承,java多继承和多重继承

本文目录一览:

java 可不可以继承多个类?

不能。\x0d\x0a一个类不能直接继承多个类,java是单继承语言。\x0d\x0a比如说这样:class A extends B,C 不能这样写,因为java不支持多继承。\x0d\x0a但是可以像下面这样实现继承多个类:class A extends B,class C extends A,这样C就同时继承了B和A两个类了。

java类是否可以多继承,怎么实现多继承?

1,java中只能利用接口达到多实现而已,跟多继承相仿

2,java中唯一可以实现多继承的

就是接口与接口之间了。

先说继承

比如

class

fu1

{

void

show(){}

}

class

fu2

{

void

show(){}

}

class

zi

extends

fu1,fu2

{

void

show(){}

}

这时候

创建zi引用

调用show方法

java

虚拟机

就不知道该调用父类的哪个show方法了

同理

在接口中

class

fu1

{

void

show();

}

class

fu2

{

void

show();

}

class

zi

extends

fu1,fu2

{

void

show(){}

}

接口的fu1

f2

的show方法都是abstract的

抽象的

是没有方法体的

所以只有子类的show方法是有方法体的

所以接口

可以多实现

也就是变量的多继承

所以也可以推出

接口与接口之间也是可以多继承的

就算接口a

的父类接口

b和c都有同一个方法show()

但是他们都是抽象方法

a继承他们

也是抽象的

这个不就可以继承了吗?

由实现的例子就可以推出来

,接口确实是可以多继承的。

java中的接口为什么可以多继承,其他类不能呢?

java 在编译的时候就会检查 类是不是多继承,如果出现多继承编译不通过。但是在java语法中接口是可以多继承的。

拓展阅读:

java 如果出现多继承、父类中都有相同的属性和name 值 子类如果使用父类的属性和name 值 无法确定是哪一个父类的是 属性和name值。

父类中如果相同的方法,并且子类并没有覆盖该方法。子类调用父类的时候 无法判断是那个父类的方法。

接口是可以多继承的。接口(jdk 1.7 以下版本)里面的方法并有实现,即使接口之间具有相同的方法仍然是可以的 几个接口可以有想通的实现类和实现方法。而且接口 接口里面的成员变量都是 static   final的  有自己静态域 只能自己使用。

接口的实现类可以有多个 。(java bean 注解注入) 一个接口(用多个实现类)被注入进来。调用方法的时候。会先依据bean 查找那个 一样的bean 。调用该实现类的方法。其次如过 实现类上都没有注解的 bean 会按照加载的先后顺序去调用的。

java中的多重继承是什么意思?

java的多重继承指的是一个类可以继承另外一个类,而另外一个类又可以继承别的类,比如A类继承B类,而B类又可以继承C类,这就是java中的多重继承。

需要注意的是,java中有多重继承的概念,但却没有多继承的概念,一个类有且仅有一个父类,这是java单继承的局限性。java中通过实现接口来达到多继承的功能目的。一个类只能继承一个类,但是却可以实现多个接口!

Java支持多继承吗?

可以多继承接口,但是不能多继承普通类。\x0d\x0a类定义属性和方法 描述某一类事物的抽象 \x0d\x0a而接口定义的是行为 并不限于任何具体意向。 \x0d\x0a\x0d\x0a按照逻辑上来说 单继承更明确 一个子类就应该是其父类代表的事物中的某个更具体的类别 不应该即是这种东西又是那种东西 。\x0d\x0a而从实用角度上来说 单继承易读 易维护 语义清晰 逻辑清楚。 \x0d\x0a\x0d\x0a而接口则不同 接口只定义一些公共行为 比如有两个接口 一个定义了跑这个动作 另一个定义了走这个动作 人这个类就可以同时实现这两个接口所定义的行为 。\x0d\x0a\x0d\x0a类对接口的implements称作实现 不能叫做继承 。\x0d\x0a\x0d\x0a当然 接口可以多继承接口 因为接口只定义行为 并不包含类别的含义 不指代具体的某类事物 而且 从语义上来说 接口对接口的继承称之为扩展更为合适。

java中如何继承多个父类,如何实现多个接口?

java中没有多继承(就是不能继承多个父类),只有多重继承。。比如:\x0d\x0aclass A{\x0d\x0a}\x0d\x0a\x0d\x0aclass B extends A{\x0d\x0a}\x0d\x0a\x0d\x0aclass C extends B {\x0d\x0a}\x0d\x0a可以实现多个接口,比如:\x0d\x0ainterface A{\x0d\x0a}\x0d\x0a\x0d\x0ainterface B{\x0d\x0a\x0d\x0a}\x0d\x0a\x0d\x0aclass C implements A, B\x0d\x0a{\x0d\x0a}