java 可不可以继承多个类?

Python015

java 可不可以继承多个类?,第1张

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

顶楼上。

从技术的角度来说,是为了降低复杂性。例如,A类中有一个m方法,B类中也有一个m方法。如果C类单独继承A类或者B类时,C类中的m方法要么继承于A类,要么继承于B类。

而如果多重继承的话,C类的m方法有可能来自A类,又有可能来自B类,就会造成冲突。这样的继承关系,就会增加复杂性,甚至进一步影响多态的灵活性。

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

拓展阅读:

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

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

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

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