0
我在Java中有繼承問題。我會用軍例如: 我有一個階級基礎:其他繼承類中的繼承類
public class Soldier {
Squad squad;
public Soldier(Squad _squad) {
squad = _squad;
}
//and some methods, that use squad
}
,我有:
public class Archer extends Soldier {
public Archer(ArcherSquad _squad) {
super(_squad);
}
//some new methods, some override
}
和:
public class Warrior extends Soldier {
public Warrior(WarriorSquad _squad) {
super(_squad);
}
//some new methods, some override
}
和我的小隊樣子:
Squad;
ArcherSquad extends Squad(some new methods);
WarriorSquad extends Squad(some new methods);
現在我想訪問來自Archer
的ArcherSquad
中的方法。我如何更改代碼而不用處理任何事情?
這很難說什麼問題,您正在運行之中。你可以說得更詳細點嗎?你能展示你試圖打電話但不能辦的方法嗎? – kuporific
我發現的唯一的小故障是,你正在接受_squad作爲參數,並且將super(班)而不是超級(_squad)給超類構造函數。由於Archersquad是小隊的一個子類,你應該能夠訪問它的方法恕我直言。 –
在ArcherSquad中,我有'arrowStrike()'metod,並且我沒有在Archer中訪問,因爲Java說這個Squad沒有這個方法。這是正常的,但我想重構我的結構能夠做到這一點。 – Merdigon