2013-03-25 24 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>

相关问题