java 可不可以继承多个类?

如题所述

  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();
  obj.print(); // 调用父类成员变量 num , 那 num 等于 0 还是 1 ?
  }
  public void print()
  {
  System.out.println(super.num);
  }
  }
  
  2.若一个子类继承的多个父类拥有相同方法,同时子类并未覆盖该方法(若覆盖,则直接使用子类中该方法),那么调用该方法时将无法确定调用哪个父类的方法。如:
  public class classA // 父类 classA
  {
  public void fun()
  {
  System.out.print("hello");
  }
  }
  public class classB // 父类 classB
  {
  public void fun()
  {
  System.out.print("hello");
  }
  }
  public class classC extends classA,classB
  {
  public static void main(String [] args)
  {
  classC t = new classC();
  t.print();
  }
  public void print()
  {
  super.fun(); // 调用父类中 fun 方法,但由于classA、classB都有fun()方法,将无法确定使用
  // 哪个父类中的方法
  }
  }
  
  因此,Java仅允许单继承,即一个子类只能继承于一个父类。但为了拓展子类的功能,Java使用接口以克服不使用多继承带来的不足。
  接口是一个特殊的抽象类,接口中成员变量均默认为 static final 类型,即常量,且接口中的方法都为抽象的,都没有方法体。
  资料来源:http://blog.sina.com.cn/s/blog_6ed1419201013x47.html
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2019-09-18
不能。
一个类不能直接继承多个类,java是单继承语言。
比如说这样:class A extends B,C 不能这样写,因为java不支持多继承。
但是可以像下面这样实现继承多个类:class A extends B,class C extends A,这样C就同时继承了B和A两个类了。本回答被网友采纳

java一个类可以继承多个类吗
在Java中,一个类可以继承多个类。拓展知识:这种特性被称为多态性或多重继承。一个类可以继承自一个或多个父类,只要这些父类没有直接的继承关系。在Java中,使用关键字<extends>来声明一个类继承另一个类。例如: class Animal { \/\/ Animal类的公共方法 } class Dog extends Animal { \/\/ Dog...

Java中一个类最多可以继承?
不能。\\x0d\\x0a一个类不能直接继承多个类,java是单继承语言。\\x0d\\x0a比如说这样:classAextendsB,C不能这样写,因为java不支持多继承。java中对于继承,java只支持单继承。java虽然不直接支持多继承,但是保留了这种多继承机制,进行改良。单继承:一个类只能有一个父类。多继承:一个类可以...

java 可不可以继承多个类?
1,java 是不可以继承多个类,java是单继承的,但是java 通过 接口可以实现多继承 2,也就是说, 一个java类只能继承一个父类, 但可以有多个接口.3,若子类继承的父类中拥有相同的成员变量,子类在引用该变量时将无法判别使用哪个父类的成员变量。如:public class classA \/\/ 父类 classA { p...

按默认排序 - java中定义一个类可以同时继承两个类
不能这样写,因为java不支持多继承,但是你可以像下面这样实现继承多个类 class A extends B class C extends A 这样C就同时继承了B和A两个类

java为什么不支持多继承
尽管Java不支持多继承,但在Java 8之后,通过默认方法和接口的灵活使用,实现了一种类似多继承的功能。虽然我们无法通过关键字"extends"同时继承多个类,但可以通过"implements"从多个接口中继承默认方法,从而避免菱形继承问题的出现。为了解决菱形继承问题带来的复杂性,Java采用了"接口解决繁琐的继承,实现类...

在JAVA中继承类有什么特点?可以多重继承吗?
Java的类是单继承的,不支持多继承,即extends关键字后只能有一个类名称,即直接父类。因此Java的类继承关系形成一个树型结构,而不是网状结构。要想实现类似于C++的多继承关系,Java是通过接口间接实现的,即多个父类实现某一接口,每个父接口有子接口,子类实现子接口。

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

为什么Java不支持多重继承
1,因为Java: 一种简单的,面向对象的,分布式的,解释型的(译者注:Java既不是纯解释型也不是纯编译型的语言),健壮的,安全的,架构中立的,可移植的,高性能的,支持多线程的,动态语言。2,假设可以多重继承:有两个类B和C继承自A;假设B和C都继承了A的方法并且进行了覆盖,编写了自己的...

C++中有多继承,java 为什么只有单继承
Java中可以实现(implements)多个接口(interface),但只能继承(extends)一个类(class)。这是因为Java是一种面向对象的语言。Java最初的设计原则就是,模仿时间的一切来设计的。举个例子,一个儿子只能继承一个老子,而不能继承多个老子。这是符合世界里的逻辑的。

JAVA 中一个子类可不可以继承多个父类?如果能,怎么表示?
java不支持多继承。因为多继承有背面向对象编程。但是可以继承多个接口。sun公司设计java的时候原则上不允许程序员多继承,但是还是开了个后门,你可以再一个类中写上一个或多个内部类,再让其他类来继承他,变相的也是多继承了。但是不建议这么做,非常影响程序的可读性,而且内部类处理起来不方便。

相似回答