2013-03-25 21 views
0

所以我只想創建這個對象,然後將它和其他類似的對象存儲在散列表中,然後再使用它的方法。但是,當我嘗試獲取對象並使用其方法時,我收到錯誤。無法從散列表中的對象調用方法

我的代碼:

D_Object obj; 
Hashtable player_table; 

obj = new D_Object("pikachu",pikachu,PLAYER_X,PLAYER_Y,PIKA_WIDTH,PIKA_HEIGHT,PIKA_OFFSETX,PIKA_OFFSETY,PLAYER_SPEED); 

player_table.put(obj.getObjNum(),obj); 

....後來我嘗試使用對象的方法getObjNum(),它給我一個錯誤

​​

....

錯誤如下:

appletGameExample.java:319: cannot find symbol 
symbol : method getObjNum() 
location: class java.lang.Object 

它給出了同樣的錯誤任何時候我嘗試和使用這個對象的方法

有人可以幫忙嗎?

回答

0

由於您沒有指定Hashtable所保持的對象類型,因此默認情況下它會將其檢索爲Object(所有類都爲extend s)。 Object沒有你想要調用的方法。你需要在訪問他們執行的類型轉換,或指定Hashtable會怎樣,就像這樣:

Hashtable<String, D_Object> player_table = new Hashtable<String, D_Object>();

1

使用它作爲Hashtable<int, D_Object>

相關問題