java - 使用接口中定义的方法调用克隆方法
问题描述
所以为了保持简短和简单,我有一个形状列表,这些都是实现我的 Shape 接口的所有形状(圆形、方形等)。
现在我试图深度克隆/复制此列表中的每个形状并将其放入一个新列表中。我已经使所有形状都实现了可克隆,并制作了我自己的方法来制作它们的深层副本。
问题是当它们被简单地定义为形状时,我无法使用克隆方法。我的问题是我如何掌握克隆方法而不必将它们铸造成具体的形状。
我一直在考虑它并在谷歌上搜索它,但我似乎无法找到正确的答案。于是我有了一个想法。
我可以添加一个方法“void callCloneMethod();” 在我的形状界面中并让实现调用每个具体形状的 clone() 方法?IOW 可以一个接口实现的方法调用非接口实现的方法。?
先感谢您。
解决方案
您是否尝试让您的 Shape 接口扩展 Cloneable 接口?如果我没记错的话,这应该允许您调用任何形状的方法。然后,您当然应该实现 clone 方法。希望这可以帮助。
推荐阅读
- haproxy - HAProxy - use_backend 如果可用
- html - 字体未在 MVC 上加载。?
- python - 在截止时间后锁定动作投票,在编辑 Django 中投票的实例时解锁
- python - 在 python 3.6 上安装 python PIL
- kotlin - 在 TornadoFX 中将“FXTask”消息绑定到“标签”而无需组件耦合
- quickbooks-online - Zapier 中 QB 在线销售收据上有多个行项目
- firebase - 如何根据添加时间在 Firestore 中检索有限的文档(对于聊天应用程序)?
- java - 使用 XML 配置和注释初始化 java bean 类时出现空指针异常
- javascript - 无法编译意外令牌 57:1 Return(
- c# - 在 C# 控制台应用程序中显示 SQL 数据库中的值