Ⅰ C++中有多继承,java 为什么只有单继承
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 可 “继承自多个具象或抽象类”。
一个类不能继承自多个一般类。
Ⅱ java中一个接口可以继承几个接口吗
可以,接口是常量值和方法定义的集合,是一种特殊的抽象类,可以继承多个接口。例如:Interface3 Extends Interface0, Interface1, interface……。
java接口解析如下:
在Java中,定义一个接口的形式如下:
[public] interface InterfaceName {
}
接口中可以含有变量和方法。但是要注意,接口中的变量会被隐式地指定为public static final变量,而方法会被隐式地指定为public abstract方法且只能是public abstract方法,并且接口中所有的方法不能有具体的实现、
也就是说,接口中的方法必须都是抽象方法。
要让一个类遵循某组特地的接口需要使用implements关键字,具体格式如下:
class ClassName implements Interface1,Interface2,[....]{
}
可以看出,允许一个类遵循多个特定的接口。如果一个非抽象类遵循了某个接口,就必须实现该接口中的所有方法。对于遵循某个接口的抽象类,可以不实现该接口中的抽象方法。
(2)java可以继承多个抽象类吗扩展阅读:
java继承接口的特性:
1)一个类如果实现了一个借口,则要实现该接口的所有方法。
2)方法的名字、返回类型、参数必须与接口中完全一致。如果方法的返回类型不是void,则方法体必须至少有一条return语句。
3)因为接口的方法默认是public类型的,所以在实现的时候一定要用public来修饰(否则默认为protected类型,缩小了方法的使用范围)。