Java &引用;无法解析为类型";
开发2D游戏引擎,但我遇到了一个障碍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
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
?否则,您必须导入该类。