Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中使用alternative for multiple继承在类之间强制转换_Java_Inheritance_Casting - Fatal编程技术网

在Java中使用alternative for multiple继承在类之间强制转换

在Java中使用alternative for multiple继承在类之间强制转换,java,inheritance,casting,Java,Inheritance,Casting,我有三个班,分别是Trench、Water和Pool。现在,Pool应该是Water和Trench的融合体,这样我可以在这些类型之间进行转换,例如,我想将Pool的对象转换为Trench的对象,因为Water的所有属性都被移除。首先,我想让水池很容易从沟渠和水继承。我刚刚发现,这在Java中是不可能的 现在有什么替代方案可以让我在我提到的两个类之间进行转换?我已经读过关于在Java中使用接口作为多重继承的替代方案的文章,但是这种转换,我希望它如何工作,在使用接口时能工作吗?我还没有完全理解。当类

我有三个班,分别是
Trench
Water
Pool
。现在,
Pool
应该是
Water
Trench
的融合体,这样我可以在这些类型之间进行转换,例如,我想将
Pool
的对象转换为
Trench
的对象,因为
Water
的所有属性都被移除。首先,我想让
水池
很容易从
沟渠
继承。我刚刚发现,这在Java中是不可能的


现在有什么替代方案可以让我在我提到的两个类之间进行转换?我已经读过关于在Java中使用接口作为多重继承的替代方案的文章,但是这种转换,我希望它如何工作,在使用接口时能工作吗?我还没有完全理解。

当类X实现接口A和B,并且您有对X的引用时,您还可以调用A和B的方法。如果您引用了A,并且它是X的一个实例,那么您可以将其强制转换为X,但是进行强制转换通常不是一个好主意,最好避免这样的设计