0

だから私がやろうとしているのは、このオブジェクトを作成し、それをハッシュテーブルに保存し、後でそのメソッドの1つを使用することだけです. しかし、オブジェクトを取得してそのメソッドを使用しようとすると、エラーが発生します。

私のコード:

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() を使用しようとすると、エラーが発生します

for(int i=1;i<=obj.getNumObjs();i++){
    if(player_table.get(i).getObjNum() != obj.getObjNum()){

....

エラーは次のとおりです。

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

このオブジェクトのメソッドを使用しようとすると、いつでも同じエラーが発生します

誰か助けてくれませんか?

4

3 に答える 3

1

として使用しますHashtable<int, D_Object>

于 2013-03-25T01:38:32.487 に答える
0

保持するオブジェクトの種類を指定しないため、デフォルトHashtableでそれらを取得しObjectます (すべてのクラスextend)。AnObjectには、呼び出そうとしているメソッドがありません。それらにアクセスするときに型キャストを実行するか、次のHashtableように保持するものを指定する必要があります。

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

于 2013-03-25T01:37:45.847 に答える
0
((D_Object)player_table.get(i)).getObjNum()
于 2013-03-25T01:48:32.307 に答える