数据成员的多重继承 - Java

时间:2013-10-08 19:43:56

标签: java oop inheritance interface polymorphism

我正在尝试使类能够从其他超类继承其所有数据成员,但不会继承仅与其他类相关的不必要的数据成员。

由于我不能从两个类继承,我想我会使用接口。但是,所有接口变量都是public,static和final;本质上不是实例变量。

有什么想法可以克服这个问题吗?

其他信息:

所以我要说我需要变量x,y和z存在于E类中。

变量x将由超类A的所有子类使用。 变量y将由超类A的某些子类使用。 变量z也将被超类A的某些子类使用。

抽象类B继承自抽象类A. B包含变量y。 抽象类C继承自抽象类A. C包含变量z。 D类需要变量x和y,它继承自抽象类B,一切都很好。 E类需要所有变量x,y和z。但它不能从这两个类继承。

我如何获得E级以获得所有变量?

2 个答案:

答案 0 :(得分:0)

根据您实际尝试的操作,您可以使用多个接口与getter / setter,显然您的实现类仍然需要实现所有数据成员。 您还可以保留对一个(或多个)类的引用,这可能是您实际需要的类。

我不确定你究竟在尝试什么,但通常(或更像是总是)如果你想扩展一个类,你认为你不需要你扩展的类的一些数据成员,这意味着你做错了什么。

答案 1 :(得分:0)

首选组合继承。而不是尝试从一个派生自多个基类的类,有一个包含,或者与每个类的对象相关联的clase。