使用替代进行多重继承来在Java中的类之间进行转换

时间:2015-06-24 10:26:21

标签: java inheritance casting

我有三个课程TrenchWaterPool。现在Pool应该是WaterTrench的融合,以便我可以在这些类型之间进行转换,例如我想将Pool的对象转换为Trench的对象{1}},因为Water的所有属性都被删除了。首先,我考虑让Pool轻松地从TrenchWater继承。我刚刚发现,这在Java中是不可能的。

现在有一个替代方案,以便我可以像我提到的那样在各课程之间施放?我已经阅读过使用Java中的接口作为多重继承的替代方法,但是在使用接口时,这种转换,我想要它,是如何工作的?我还没完全明白它。

1 个答案:

答案 0 :(得分:0)

当Class X实现接口A和B,并且你有一个对X的引用时,你也可以调用A和B的方法。如果您引用了A并且它是X的一个实例,您可以将其强制转换为X,但通常不是一个很好的想法来制作强制转换,最好避免这样的设计。