首页 > 解决方案 > 使用接口中定义的方法调用克隆方法

问题描述

所以为了保持简短和简单,我有一个形状列表,这些都是实现我的 Shape 接口的所有形状(圆形、方形等)。

现在我试图深度克隆/复制此列表中的每个形状并将其放入一个新列表中。我已经使所有形状都实现了可克隆,并制作了我自己的方法来制作它们的深层副本。

问题是当它们被简单地定义为形状时,我无法使用克隆方法。我的问题是我如何掌握克隆方法而不必将它们铸造成具体的形状。

我一直在考虑它并在谷歌上搜索它,但我似乎无法找到正确的答案。于是我有了一个想法。

我可以添加一个方法“void callCloneMethod();” 在我的形状界面中并让实现调用每个具体形状的 clone() 方法?IOW 可以一个接口实现的方法调用非接口实现的方法。?

先感谢您。

标签: javainterfacecopyclone

解决方案


您是否尝试让您的 Shape 接口扩展 Cloneable 接口?如果我没记错的话,这应该允许您调用任何形状的方法。然后,您当然应该实现 clone 方法。希望这可以帮助。


推荐阅读