【发布时间】:2015-02-20 21:32:21
【问题描述】:
关于stackoverflow的第一个问题:
好的,我正在为 android 编写一个 java 游戏,但在初始化从函数/方法中检索到的某些类时遇到了麻烦。这是我的代码:
static int unUsedCharacters = 10;
static Character char1;
static Character char2;
static Character char3;
static Character char4;
static Character char5;
static Character char6;
static Character char7;
static Character char8;
static Character char9;
static Character char10;
Character getFreeCharacter() {
if (char1 == new Character()) {
return char1;
} else if (char2 == new Character()) {
return char2;
// and so on... until 10
} else {
return char10;
}
}
public void createCharacter(String x) {
if (unUsedCharacters > 0) {
unUsedCharacters -= 1;
getFreeCharacter() = new Warrior();
//the warrior class extends the character class
} else {
/* no more characters */
}
}
所以问题出在我尝试做的地方:
getFreeCharacter() = new Warrior();
上面写着:
预期变量。
有什么建议吗? (这可能非常简单,但这对我来说是全新的)
感谢您阅读/回复
【问题讨论】:
-
预期变量。就是这么说的
-
你不能初始化一个方法。这就是为什么你在那里得到错误。另外,你正在做
char1 == new Character(),它总是返回false。您正在创建一个新实例,而 char1 尚未引用该实例。因此,char == new Character()将始终返回 false -
您确实有这样的问题,但不是在您确定的那一点。如果您解释一下代码应该做什么,也许会有所帮助?
-
那么代码必须初始化方法给出的那些字符。也感谢大家这么快回答!
-
让我更清楚。您的代码是如此损坏,以至于我无法从中推断出您打算做什么的任何细节。您在这里至少有两个基本误解,我无法根据我面前的信息制定完整的答案。话虽如此,也许我应该特别问一下
getFreeCharacter()方法的意义是什么。
标签: java android class methods