Java是';我不认识我的构装师
Java似乎找不到我的构造函数,我不知道出了什么问题。throuws InterruptedException有问题吗?任何帮助都将不胜感激,谢谢Java是';我不认识我的构装师,java,Java,Java似乎找不到我的构造函数,我不知道出了什么问题。throuws InterruptedException有问题吗?任何帮助都将不胜感激,谢谢 package gameloop; import javax.swing.*; public class GameLoop extends JFrame { private boolean isRunning; public int drawx = 0; public int
package gameloop;
import javax.swing.*;
public class GameLoop extends JFrame {
private boolean isRunning;
public int drawx = 0;
public int drawy = 0;
public void GameLoop() throws InterruptedException{
setSize(700, 700);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
while(isRunning){
doGameUpdate();
render();
Thread.sleep(1);
if (isRunning){
GameLoop();
}
}
}
private void doGameUpdate() {
GameUpdate GU = new GameUpdate();
}
private void render() {
Draw dr = new Draw();
}
public static void main(String[] args) {
GameLoop GL = new GameLoop();
}
}
构造函数的命名与其类完全相同,并且没有返回类型。如果提供返回类型,即使是
void
,也会创建一个名为GameLoop
的方法。你要找的是
public GameLoop()
而不是
public void GameLoop()
您需要
public GameLoop()
构造函数没有返回类型,这不是构造函数-这是:
public GameLoop() throws InterruptedException
构造函数不能有返回类型(
void
在代码中),如果您添加一个返回类型,Java将把它解释为一个普通的方法——即使它的调用与类完全相同 构造函数有一个返回类型,因此它被视为任何其他方法删除void
。构造函数没有返回类型。您还应该将更新/渲染循环移出构造函数并移到它自己的函数中,以及从更新/渲染循环中删除无限递归。感谢初始帮助!我得到了窗口显示,但现在我得到了新的错误。在我的Draw和Update类中,行“公共类Draw扩展GameLoop”和“公共类GameUpdate”。最好创建一个新问题