Java 类不再被正确识别
早些时候,我向一个类添加了一些功能:Java 类不再被正确识别,java,class,compiler-errors,Java,Class,Compiler Errors,早些时候,我向一个类添加了一些功能: public class ScoreScreen extends BasicGameState { public ScoreScreen(Level level) { //do initializing //A few example lines of code hasWon = level.getWon(); score = level.getScore(); }
public class ScoreScreen extends BasicGameState
{
public ScoreScreen(Level level)
{
//do initializing
//A few example lines of code
hasWon = level.getWon();
score = level.getScore();
}
//The method I added
public void saveScores(String levelNumber)
{
BufferedReader reader;
try
{
reader = new BufferedReader(new FileReader("data/monsters/scores.txt"));
String line;
int lineCounter = 0;
ArrayList<String> scores = new ArrayList<String>();
while ((line = reader.readLine()) != null)
{
scores.add(lineCounter, levelNumber + totalScore + medal);
lineCounter++;
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
我听到一个错误说
将构造器“ScoreScreen(级别)”更改为“ScoreScreen(级别)”
这很奇怪。我让Eclipse做它自己的事情来纠正代码,但是Eclipse没有改变任何东西,代码仍然不起作用
ScoreScreen构造函数中的代码还返回以下错误:
类型级别的未定义中的方法“getWon()”。
将强制转换添加到“级别”
起初,我认为这可能是Eclipse中的一个bug,所以我重新启动了我的pc并重新启动了Eclipse,但没有起到任何作用。在另一台计算机上打开项目也是如此
编辑:乔恩·斯基特发现了一些事情。我将类名从
Level
更改为Test
,现在没有错误。唯一的问题是我找不到第二个名为Level
的类,这是因为在您的项目中有不止一个Level
类
要查找问题,请参阅类中级别的导入语句。这和你期望的是同一级别的课程吗?
如果不删除类中错误的
级别导入,然后导入正确的。在某些IDE中,当它们像try/catch一样自动为您添加代码时,还会添加日志语句。在这门课程中,他们还为日志内容添加了导入,就像您同时发现的那样,java.util.logging.Level
在我的IDE中,我编辑了模板以添加我们公司的日志功能。您是否在任何地方引入了另一个级别的类?您是否有任何名为级别的泛型类型参数?@JonSkeet Nope和Nope。唯一接近的是我的LevelScreen
类。如果你愿意,我可以添加一个完整项目的链接,它在dropbox上。但我想你可能知道些什么。查看问题中的编辑。检查导入。您可能从另一个库导入了类级别。记录器通常具有Level
s…@Fildor如果您是对的,则是import java.util.logging.Level代码>,虽然我不知道它是怎么到那里的。谢谢Fildor完全正确,它是一个以某种方式被导入的日志类。他比你早,但没有加上答案。所以,在他提交答案之前,我会接受你的答案。
//'this' is a Level
game.addState(new ScoreScreen(this));