java是单继承,但是接口可以实现多继承,如果考试题说是java多继承,不知道这句话是否正确?

解决方案 »

  1.   

    java可以多层继承(就是父类还有父类),但不可以多重继承。
    如果考试题说是java多继承,不知道这句话是否正确?应该是正确的,因为题目没说明的多层还是多重继承。
      

  2.   

    准确的说是错误的,
    如果Java实现接口,就可以说是多继承,单继承是针对类而言的,多继承应该是针对接口而言的
      

  3.   

    java 当然是单继承的啊 原因有下:
       如果在一个子类继承的多个父类中拥有相同方法,子类中有没有覆盖该方法,那么调用该方法时将产生歧义,无法判断应该调用哪个父类的方法。
       如果在一个子类继承的多个父类中拥有相同名字的实例变量,子类在引用该变量时将产生歧义,无法判断应该使用哪个父类的变量.
    多继承的话就没有反射机制... 
    反射机制依靠虚拟机来完成..
      

  4.   

    接口里面的 extends 也是实现的意思a 接口实现了b,c,d 接口,只不过关键字是extends, 因为肯定不是 implements 呵呵!
      

  5.   

    java规范是说java不支持多继承语法,但为什么java不支持多继承而是单继承?原因是:如果不是单继承就做不出容器,这句话可能不好理解。
    我简单解释下:如果是单继承结构,老祖宗都是Object,那么只要创建类,不管你愿不愿意这个类都要继承自Object,即所有的类型可以说是都是属于Object的,既然都可以看成是同一类型(兼容性)那么自然可以放在同一容器,那么自然可以创建容器。在看看,所有的OOP语言除C++之外都是属于单继承的,为什么C++要实行多继承?C++之父认为要让程序员获得更广泛的自由,他不希望一个类一旦做出来就是属于哪个类型的,但实行多继承之后,容器做不出来了,如果你熟悉C++就会发现,C++里面有很多奇怪的不好学的一些东西,都是为了实现容器而替代的一些语法。我可以举个简单的例子:A是父类,B,C是A的子类,D继承自BC(多继承),那么在D里就会出现两个爷爷,那么这两个爷爷到底哪个从BC哪个类来的我们就不清楚了,而实际上只需要一个爷爷就OK了,所以C++引入虚继承,而实际上这是违背OOP原则的。java实现单继承,但多继承这个语法相对某些方面来说还是非常有用的,所以java用其他语法替代了。主要有两个语法:第一肯定是接口,一个类可以实现多个接口,其实接口对实现多继承已经做的很好了,但java除了接口之外还有一个语法使多继承达到完美了,那就是内部类。
      

  6.   

    错误的,只能说是多层继承,JAVA单个类只能单继承,但是可以实现多个接口!
      

  7.   

    JAVA没有多继承,只能单继承,可以多层继承,即 间接子类
      

  8.   

    出题人意图是考java和c++的区别
    如果让你判断  选错;
    如果面试    自己在进行补充  
      

  9.   

    java中子类只能有一个父类,只在单继承,没有多继承
      

  10.   

    JAVA应该没有多继承,只能单继承。多继承的话只能靠实现接口去实现
      

  11.   

    如果是java的题目这题选错误就对了
      

  12.   

    你就干脆点,说错误吧,我估计他就是想考考你看对java的这基础东西了解不
      

  13.   

    接口不能说成是继承吧,只能说是实现。继承基类和实现接口区别其实还是很显著的。
    或许可以这样说,java能通过继承基类和实现接口达到“多继承”的目的。这样能使程序更好的扩展。
    至于说多继承,意思应该是一个子类继承多个基类,比如A类继承B类,A类继承C类。显然。这在java的世界里是不被允许的。
      

  14.   

    试题很奇怪啊……回答的话java是单继承。
    因为多继承存在二义性的问题,所以java进步成为单继承,
    但是有时候又会涉及到多用的问题,所以让接口可以多继承。
      

  15.   

    父类加父类只能说传递。。不应该说是多重继承吧
    JAVA里好像没有多重继承这一说法
    接口的话 只能说是实现了多个借口
    多重继承没听说过
      

  16.   

    来推荐一下java基础视频教程在线听:http://www.cdlanhai.com/zxst/
      

  17.   

    首先说这出考题的本身就没水平,玩文字游戏
    继承 和 实现 是两个概念。extend  [ikˈstend]
    vt.延伸;扩展;给予 vi.伸展,延伸;达到implement  [ˈimplimənt]
    vt.使生效,履行,实施 n.工(器,用)具
    个人觉得extend翻译成“扩展”才应该正确点,毕竟OO的本质目的是为了丰富形式语意而提出的。
    implement有使其生效的意思,也就是说,给你个东西,这个东西能不能用不知道,你要做的是使它能用。
      

  18.   

    不正确。java就是单继承。如果提到了接口,就另说。