我在學校做遊戲。我有武器這是項目的一個子類。 而我在我的課堂上有一個名爲BattleGround
的字段currentWeapon
。我有一個方法來搜索和遍歷我的「揹包」中的所有項目。我希望也可以用這個武器,因爲它們也是物品。一個子類可以被稱爲它的超類的類型嗎?
我所希望的是,Weapon
類的一個對象也可以稱爲一個項目。但我只是不知道。我是否需要一種新方法來遍歷Weapon
? Weapon
s和Item
s都要存放在同一個揹包裏。
如果我存儲領域currentWeapon
爲Weapon
,我不能使用的方法,也許不存儲Weapon
S IN String
的Hashmap
S和Item
秒。如果我將它作爲Item
存儲,則不能使用Weapon
類的方法。謝謝。
一個例子會讓我更容易理解我的猜測。 – Kai 2013-04-04 08:02:42
是的,一個子類的定義之一是它可以在任何需要其超類的實例的地方使用。所以,就你的情況而言,如果'Weapon extends Item'和有接受Item的代碼,它也會接受一個'Weapon'。 – miorel 2013-04-04 08:04:04
是的,我明白,但這是一個相當容易的問題,雖然不是嗎? 武器可以像物品一樣對待嗎?一個子類可以像超類的類型一樣對待嗎? 可以將子類武器的對象存儲在HashMap中嗎? –
2013-04-04 08:06:18