我有一个抽象类Specie,然后是类动物扩展物种,然后是我的动物类(例如羊)。在动物中,我有一种方法来检查两个物体是否在地图上的相同位置,如果它们是相同的类型(例如羊和羊)。Java创建新对象
如果是,它会创建另一只绵羊。我有与 问题,我想这样的事情
Specie new_specie = this;
而且我有一个副本consturctor在我的羊类
public Sheep(Sheep new_sheep){
this(new_sheep.get_x(),new_sheep.get_y(), new_sheep.get_img());
}
然后将其保存到其中包含的所有对象的数组
species[speciesAmount] = new_specie;
但它只是保存在数组中的两个元素相同的对象
species[0]
species[2]
相同的对象。有任何想法吗?
但是还有一个问题,我将有更多类型的动物(公式狼)的,我不能做
new Specie(this)
,因为它是一个抽象类。
如何让它调用正确的构造函数?
编辑。我解决了它,我使用了clone()方法。
公羊(羊new_sheep){ 您是否看到这个问题?基本上,你需要有一个羊实例,以便能够创建一个... – Stultuske
但还有另一个问题,我将有更多类型的动物(方程式狼),我不能做 new Specie(this) 因为它是一个抽象类,如何使它调用合适的consturcotr? – Cardano
新的Specie(this)有点废话imho,只要使用克隆方法,如果你需要类似的东西。 – Stultuske