A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 蒙武辉 黑马帝   /  2012-3-14 01:30  /  21463 人查看  /  14 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请问java中如何实现多继承?可以举个例子说明下吗?

14 个回复

倒序浏览
java中唯一可以实现多继承的 就是接口与接口之间了。
  先说继承把   比如
class fu1
{
  void show(){}
}
class fu2
{
  void show(){}
}
class zi extends fu1,fu2
{
   void show(){}
}
这时候  创建zi引用  调用show方法  java 虚拟机 就不知道该调用父类的哪个show方法了
同理  在接口中
class fu1
{
  void show();
}
class fu2
{
  void show();
}
class zi extends fu1,fu2
{
   void show(){}
}
接口的fu1 和 f2 的show方法都是abstract的  抽象的  是没有方法体的
所以只有子类的show方法是有方法体的  所以接口  可以多实现  也就是变量的多继承

所以也可以推出 接口与接口之间也是可以多继承的   就算接口a  的父类接口 b和c都有同一个方法show()
但是他们都是抽象方法  a继承他们 也是抽象的  这个不就可以继承了吗?  由实现哪个例子就可以推出来   毕老师也将过 接口确实可以多继承的
回复 使用道具 举报
Java不允许多继承,只能继承一个父类,但是可以实现多个接口,想要多继承的话,可以用内部类可以,
回复 使用道具 举报
但是内部类调用变量,需要变量是final类型,不可以改变的,如果麻烦的类就不要用内部类了
回复 使用道具 举报
java只支持单继承, 不能多继承,只能多重继承;
回复 使用道具 举报
别人知道java只能单继承,问得是如何实现多继承?java多继承是利用接口实现的。{:soso_e120:}
回复 使用道具 举报
java中只能利用接口达到多实现而已,跟多继承相仿。
回复 使用道具 举报
戚雪晖 黑马帝 2012-3-14 08:04:56
8#
java中可以多继承,就是接口之间可以多继承
回复 使用道具 举报
java通过 接口实现多重继承
回复 使用道具 举报
崔岩 来自手机 中级黑马 2012-3-14 09:02:24
10#
java中,一个类可以实现多个接口,但是我们知道接口中的方法是抽象的,实现以后要自己在实现这个抽象方法。而有时我们为了降低代码的耦合度确实有这个需求让一个类有其他类的属性。这样一来就可以让改类继承一个主类,主类中有常用方法。再去实现多个接口,接口作为辅助“父类”,就可以达到要求。提高代码的可重用性。
回复 使用道具 举报
继承一个类,只要用extends 关键字把一个类的定义合并到另一个中就可以了。在java里多继承是通过接口实现的,这样可以降低程序是耦合度。继承接口用关键字implements。java可以继承多个接口,单不能继承多个类。
例如 有A类和B类,用B类继承A类
就是
class B extends A
{
  //重载A类里的方法
}
如果有C接口和D接口则可以

class B implements C,D
{
  //实现C和D里的方法
}

还可以
class B extends A implements C,D
{
  //重载A的方法实现C和D的方法
}
回复 使用道具 举报
java中类不能实现多继承,但是可以实现多层继承,接口可以多实现,是给类提供扩展功能的,一个类既可以继承父类又可以实现接口。
例如继承:
class Person
{
     string name;
     int age;
     Person(strin name,int age)
     {
         this.name=name;
         this.age=age;
     }
}
class Student extends Person implements ChouYan,KanDianYing
{
     
}
interface ChouYan
{
}
interface KanDianYing
{
}
回复 使用道具 举报
辉总,我想你问的不应该是这种问题吧,


JAVA确实 只是但继承,,但是可以多重继承,,举例  儿子继承父亲, 父亲继承爷爷,爷爷继承什么什么什么的,,这样也是可以的,  

不知道你是不是要问的这个
回复 使用道具 举报
Java中 不能进行多继承 只能进行一次继承 ,但是可以多实现 利用实现来 拟补了多继承的问题!
回复 使用道具 举报
接口也接口之间也有关系:接口之间可以多继承。但是同名方法的返回值必须一样。java支持多继承,只有在接口与接口之间可以实现多继承。类之间只有单继承。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马