2017-10-09 66 views
-1

我在寫關於黑手黨遊戲的代碼。但是我有一個自己無法解決的大問題。在這種情況下,通用插入哪個類名?

有黑手黨,警察,醫生和公民班。這個名字並不重要。

和每個黑手黨,警察,醫生,公民擴展球員類。

然後我需要把這些對象反對這些類List。

Mafia mafia = new Mafia(); 
Doctor doctor = new Doctor(); 
Police police = new Police(); 
Citizen citizen = new Citizen(); 

List players<?> = new ArrayList(); 

players.add(mafia); 
players.add(doctor); 
players.add(police); 
players.add(citizen); 

對於上面的代碼運行良好,哪些類名必須寫在<? >在上面的代碼。

名爲'player'的列表必須能夠包含幾個擴展相同類的類。

謝謝。

+0

應該不是列表的名稱(玩家)和這些對象的超類(XXX擴展播放器)已經足以知道要使用的類型? – Thomas

+0

你可以像'List <?擴展播放器>播放器=新的ArrayList <>();' – procrastinator

+0

[詳細闡述多態性](https://stackoverflow.com/questions/31236388/elaborating-on-polymorphism) – Tezra

回答

2

和每個黑手黨,警察,醫生,公民擴展球員類。

你基本上自己給出了答案。

List<Player> players = new ArrayList<>();

相關問題