我正在制作一个基于Trystan's Tutorial的roguelike,并遇到了实现类系统的问题。我很确定解决方案很简单,但请耐心等待。
class Creature {
int HP;
CharacterClass playerClass = new Wizard();
HP = playerClass.hitDie;
ArrayList<Ability> creatureAbilityList = new ArrayList<>();
creatureAbilityList.add(classAbilityList.get(1));
}
class CharacterClass {
int hitDie;
ArrayList<Ability> classAbilityList = new ArrayList<>();
}
class Wizard extends CharacterClass {
Wizard() {
hitDie = 6;
classAbilityList.add(new Ability(magicMissile));
}
}
我在“new Wizard()”后面的分号上收到“令牌上的语法错误”;“,预期”。我很确定这不是问题,而是我的类和继承的设置方式。我应该如何设置代码呢?任何帮助将不胜感激。
答案 0 :(得分:3)
问题是下面的一行。它应该是
int HP=playerClass.hitDie;
(并删除行int HP;
)
答案 1 :(得分:0)
你应该使hitDie变为私有,并使用getter和setter来访问它以启用polimorphism(因此调用的getHitDie()将是类向导而不是类CharacterClass之一)