Java &引用;无法解析为类型";

Java &引用;无法解析为类型";,java,2d,Java,2d,开发2D游戏引擎,但我遇到了一个障碍 package GameState; import java.util.ArrayList; public class GameStateManager { private ArrayList<GameState> gameStates; private int currentState; public static final int MENUSTATE = 0; @SuppressWarnings("unused") public s

开发2D游戏引擎,但我遇到了一个障碍

package GameState;

import java.util.ArrayList;

public class GameStateManager {

private ArrayList<GameState> gameStates;
private int currentState;

public static final int MENUSTATE = 0;
@SuppressWarnings("unused")
public static final int LEVEL1STATE = 1;

public GameStateManager() {

    gameStates = new ArrayList<GameState>();

    currentState = MENUSTATE;
    gameStates.add(new MenuState(this));
    gameStates.add(new Level1State(this));

}

public void setState(int state) {
    currentState = state;
    gameStates.get(currentState).init();
}

public void update() {
    gameStates.get(currentState).update();
}

public void draw(java.awt.Graphics2D g) {
    gameStates.get(currentState).draw(g);
}

public void keyPressed(int k) {
    gameStates.get(currentState).keyPressed(k);
}

public void keyReleased(int k) {
    gameStates.get(currentState).keyReleased(k);
}

}
package游戏状态;
导入java.util.ArrayList;
公共类GameStateManager{
私有ArrayList游戏状态;
私有国家;
公共静态最终int-MENUSTATE=0;
@抑制警告(“未使用”)
公共静态最终int LEVEL1STATE=1;
公共GameStateManager(){
gameStates=新的ArrayList();
currentState=MENUSTATE;
gameStates.add(newmenustate(this));
游戏状态。添加(新的Level1State(this));
}
公共无效设置状态(int状态){
当前状态=状态;
gameStates.get(currentState.init();
}
公共无效更新(){
gameStates.get(currentState.update();
}
公共无效绘图(java.awt.Graphics2D g){
游戏状态.get(currentState).draw(g);
}
按下公共无效键(int k){
游戏状态。获取(当前状态)。按键(k);
}
公共无效密钥已释放(int k){
gameStates.get(currentState).keyreased(k);
}
}
游戏状态Level1State无法解析为类型。在此之前,我得到了一个实例化类型错误。我正在使用eclipse。

“无法解析为类型”意味着编译器已经看到了
new
关键字,并且它知道该关键字后面必须是类型,但编译器不知道任何称为
Level1State
的类型

因此,您必须让编译器知道有一种类型叫做
Level1State

在java中,这通常通过
import
语句完成


如果你有如此基本的问题,那么你需要开始阅读书籍。你不能一次只学习一个关键字,每个关键字都有一个stackoverflow问题。

Eclipse与任何事情都没有关系。您在哪里定义了类Level1State?调用一个构造函数,该构造函数将GameManager作为参数。我看不出来。也许JDK也没有。你的格式很糟糕。学习Java编码标准,开始关注格式、样式和可读性。那么
Level1State
应该是什么类?你的代码中没有包含它,那么我们怎么知道它是什么呢?你的类
Level1State
是否在同一个包
GameState
?否则,您必须导入该类。