我是一个刚学java的新手,现在看Thinking in java 中文版第三版,看到内部类部分,书上说内部类提供了可以继承多个具体的或抽象的类的能力,然后我就编了一个简单的代码:
class A{}
class B{}
public class Inner{
   ....
   ....
  class C extends A,B{
}}
但是编译的时候报错(其他程序部分省略),是我理解错误吗?内部类到底是怎么实现多继承的?谢谢指教。

解决方案 »

  1.   

    class C extends A,B;java不支持这样的多重继承!
      

  2.   

    这样写:
    class A{}
    public class B{
     class C extend A{
    }
    }
    因为内部类本身就是一个它的外部类的继承,让它再继承另一个外部类,这是经典的JAVA实现多重继承的方法
      

  3.   

    java没有从两个类同时继承的概念,要想多继承的话,就设计个接口吧!
    interface a {}
    interface b {}
    class c {};class d extends c implements a,b接口和类在java中的地位平等
      

  4.   

    Java是变相实现了多重继承。
    基本同意nintha(注意休息) 的意思。。
      

  5.   

    JAVA用接口弥补了在多重继承的缺陷
      

  6.   

    建议楼主用debug跟踪一下过程就知道了
      

  7.   

    java不支持多重继承,用接口或者用adapter设计模式
      

  8.   

    多重继承在JAVA里是不能实现的,建议楼主用接口
    interface A{}
    interface B{}
    public class Inner{
       ....
       ....
      class C implements A,B{
    }}
      

  9.   

    总结就是一个意思了,java不支持多重继承(形式上的多重继承),但是你可以变相的用其他方法来达到多重继承(实质的多重继承)的目的。楼主的理解明显有偏颇。