我有一個抽象類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