我现在手头有两个类,
类 Spical001 包含了各种有特殊性的操作,但都有一些共同的私有变量和私有方法,这些方法继承于另一些系统类,无法修改
类 Common 中包含了一些固定的方法,这些方法需要调用上述类中共同的私有变量因为 SpicalXXX(后面跟数字) 有一堆,都是软件生成的,而我现在需要调用的类需要同时extend Spical001和Common两给类,然后其他对象通过调用 Common 中的方法来进行操作本来是设想使用接口来实现 Common ,但是接口中的方法不能定义方法体,所以不行
也想过在Common类中实现一个接口把 SpicalXXX 注入进去,但是因为要用到 SpicalXXX 中的私有成员,所以也不行
也想过用 Spical001 来 extends Common,但是因为 Common 中要使用的私有变量是定义在 Spical 中的,所以这样做会导致编译出错不知道大家有什么想法?

解决方案 »

  1.   

    B,C是需要继承的类,用C继承A,然后再A里弄个C类型的属性
      

  2.   

    B,C是需要继承的类,用C继承A,然后在C里弄个B类型的属性
      

  3.   

    这个方法可以!
    public class C extends A{
       private B b;
    }
    这样
      

  4.   


    用我说的类名举例?光A,B,C我不知道你分别指什么
      

  5.   

    面向对象和业务需求有时是矛盾的。
    java禁止了多继承也是有原因的。
    实在想来这套的话,搞内部类吧。
      

  6.   


    就算不管代码耦合,用内部类就要把 Common 类放到每一个 Special 类当中,根本没有办法做,Special是系统生成的,有很多