Java 非静态变量不能从静态上下文引用此变量
我对某人的看法是(这个);总是返回一个“非静态变量,不能从静态上下文引用。”我不明白为什么Java 非静态变量不能从静态上下文引用此变量,java,Java,我对某人的看法是(这个);总是返回一个“非静态变量,不能从静态上下文引用。”我不明白为什么 package asteroidgame; import blobmx.BlobGUI; import blobmx.SandBox; import blobmx.SandBoxMode; import java.util.Random; public class AsteroidGame implements BlobGUI{ private static final Random random
package asteroidgame;
import blobmx.BlobGUI;
import blobmx.SandBox;
import blobmx.SandBoxMode;
import java.util.Random;
public class AsteroidGame implements BlobGUI{
private static final Random random = new Random();
public static void main(String[] args) {
AsteroidGame();
}
public static void AsteroidGame(){
SandBox sb = new SandBox();
sb.setSandBoxMode(SandBoxMode.FLOW);
sb.setFrameRate(66);
sb.init(this);
}
此
不能在静态方法中使用。因为静态方法中没有实例表示。更改
public static void main(String[] args) {
AsteroidGame();
}
到
然后用myasterbome
做任何你想做的事情(比如调用方法或任何你想做的事情)这就是修复方法:
package asteroidgame;
import blobmx.BlobGUI;
import blobmx.SandBox;
import blobmx.SandBoxMode;
import java.util.Random;
public class AsteroidGame implements BlobGUI{
private static final Random random = new Random();
public static final SandBox sb = new SandBox();
public static void main(String[] args) {
AsteroidGame newgame = new AsteroidGame();
}
public AsteroidGame(){
//SandBox sb = new SandBox();
sb.setSandBoxMode(SandBoxMode.FLOW);
sb.setFrameRate(66);
sb.init(this);
}
你认为这个应该指什么?你为什么这么认为?请用谷歌搜索一下!!!你会发现至少有1000个标题相同的问题。看起来这应该是一个构造器?如果是这样的话,请删除单词
static void
。我花了至少一个小时搜索像这样的线程。pbabcdefp作为一个构造函数是正确的。我删除了静态void部分,它修复了第一个问题,但是现在我调用构造函数说它找不到符号:asterbody game()这是我20分钟前的答案。请接受我的回答
package asteroidgame;
import blobmx.BlobGUI;
import blobmx.SandBox;
import blobmx.SandBoxMode;
import java.util.Random;
public class AsteroidGame implements BlobGUI{
private static final Random random = new Random();
public static final SandBox sb = new SandBox();
public static void main(String[] args) {
AsteroidGame newgame = new AsteroidGame();
}
public AsteroidGame(){
//SandBox sb = new SandBox();
sb.setSandBoxMode(SandBoxMode.FLOW);
sb.setFrameRate(66);
sb.init(this);
}