2013-06-23 32 views
0
public class A { // Extends from `Object` class 
} 

class B extends A { // Extends from `A` 
} 

class C extends B { // Extends from `B` 
} 

这是否被认为是多重继承?被认为是多重继承

+3

多继承是指类从多个超类继承时。您应该在Google上搜索。即使维基百科也有一个专门的页面http://en.wikipedia.org/wiki/Multiple_inheritance – janos

+0

btw这可能是有用的:[Java接口如何模拟多重继承?](http://stackoverflow.com/questions/3556652/how-do-java-interfaces-simulate-multiple-inheritance) – informatik01

回答

1

第NO。

在java中只存在简单继承。

public class A { // Extends from `Object` class 
} 

class B extends A { // Extends from `A` 
} 

class C extends B { // Extends from `B` 
} 

你这里是什么

C是B,B是A,A是一个对象

(C是一款由传递)

多继承将是

C is a B and also is a D, D is an object, B is a A , A is an Object

在java中不允许多重继承(有多个父项)。

你可以做的是实现多个接口,在那里你可以有一种多重继承。

+0

谢谢。我想我明白了 – user2514382

1

多重继承是你在Python的看到:

class A(B,C,D,E,Infinity): 

其中“A”从所有这些类的继承一次。所以答案是否定的,因为那不是你在做什么。

2

没有。这是继承树。您不会在Java中找到任何用于多重继承的示例,因为它不受支持。

3

不。这只是普通继承的两个实例。多重继承将是类似于

class A{ 
} 

class B{ 
} 

class C extends A, B{ 
} 

但是,这不是可以在Java中完成的事情;不允许从多个基础继承,尽管接口允许它拥有大部分的好处。

1

不可以,就像@Reimeus说的那样。

多重继承会是什么样子:

class A extends B, C, D, E

被允许在C++而不是Java编写的。你可以有多个接口,但不能扩展多个类。

0

不,这不被视为多重继承。你描述的类层次实际上是单一的继承,因为你的每个类只从另一个类继承。

发生多继承时,单个类同时从多个类继承,但这是Java编程语言中不可用的语言功能。尽管它可用于其他语言,如C++。通过不允许Java语言设计者试图避免与多重继承关联的多重继承。

Java类可能实现多个接口。