gpt4 book ai didi

java - 访问存储在对象中的实例变量

转载 作者:行者123 更新时间:2023-12-01 22:23:11 25 4
gpt4 key购买 nike

我似乎无法直接从对象访问任何 get/set 方法或变量。我试图获取存储在变量中的敌人的等级,如下所示。最后一行,我“想要”执行“World[i][j].enemy.getLevel()”,但显然这是一个非法举动?目前它只打印对象 id 引用。

是否有转换回我丢失的对象?

Monster 类扩展了 Player。

创作:

World[i][j].enemy = spawnEnemy(World[i][j].mapLevel); //Spawn a monster.

其他代码:

    public static Object spawnEnemy(int level) {
//Spawns a monster and returns the Object.
Monster enemy = new Monster();
enemy.setLevel(level);
enemy.setMaxHealth(level * 5);
enemy.setHealth(enemy.getMaxHealth());
enemy.setDamage(enemy.getLevel() * 3);
return enemy;
}

public static void enemiesAlive() {

for (int i = 0; i < mapSizeX; i++)
{
for (int j = 0; j < mapSizeY; j++)
{
if (World[i][j].enemyAlive)
{
System.out.print(i + "-" + j + " with a level of " + World[i][j].enemy + ", ");
}
}
}
}

最佳答案

The last line, I 'want' to do "World[i][j].enemy.getLevel()"

问题是您忘记了对 getLevel() 的调用,而只是打印了对象引用。

改变

System.out.print(i + "-" + j + " with a level of " + World[i][j].enemy + ", ");

对于

System.out.print(i + "-" + j + " with a level of " + ((Player)World[i][j].enemy).getLevel() + ", ");

关于java - 访问存储在对象中的实例变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29292820/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com