java 可不可以继承多个类

 我来答
cheng701898
高粉答主

2015-10-12 · 繁杂信息太多,你要学会辨别
知道顶级答主
回答量:6.2万
采纳率:85%
帮助的人:6536万
展开全部
  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
Nor_yourgodsy
推荐于2018-02-28 · TA获得超过1.8万个赞
知道大有可为答主
回答量:3659
采纳率:82%
帮助的人:285万
展开全部
不能。
一个类不能直接继承多个类,java是单继承语言。
比如说这样:class A extends B,C 不能这样写,因为java不支持多继承。
但是可以像下面这样实现继承多个类:class A extends B,class C extends A,这样C就同时继承了B和A两个类了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
晟宁净n
2016-12-24 · TA获得超过5446个赞
知道小有建树答主
回答量:1931
采纳率:68%
帮助的人:552万
展开全部
一个类不能直接继承多个类,java是单继承语言。
比如说这样:class A extends B,C 不能这样写,因为java不支持多继承。
但是可以像下面这样实现继承多个类:class A extends B,class C extends A,这样C就同时继承了B和A两个类了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1596929129QQpm
推荐于2017-11-26 · TA获得超过118个赞
知道答主
回答量:119
采纳率:50%
帮助的人:117万
展开全部
java不可以同时继承多个类,但是可以实现多个接口的 你这可能是继承KeyListener, ActionListener, MouseListener, MouseMotionListener 这几个接口吧 接口可以继承多个接口
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
淡水千痕乀
2018-02-28 · TA获得超过360个赞
知道小有建树答主
回答量:141
采纳率:83%
帮助的人:29万
展开全部
不能
如果可以多继承,假设有两个A C类 各自都含有一个方法method():名称,参数,返回值相同但具体逻辑不同,这时我写一个B类同时继承A,C,当我调用method()时就会产生问题:不知道该用哪个类中的方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式