我在使我的应用程序正常工作时遇到了一些麻烦。
我得到了 error: error: non-static variable object1 cannot be referenced from a static context
我确实收到了错误:
error: object_game is not abstract and does not override abstract method keyPressed(KeyEvent) in KeyListener
public class car_game extends JFrame implements Runnable, KeyListener
但是我解决了这个问题,因为我需要keyTyped, keyPressed, keyReleased
定义。
这是我的代码:
public class car_game extends JFrame implements Runnable, KeyListener
{
public object object1;
//Main program
public static void main(String[] args)
{
object1 = new Object() {};
Thread t = new Thread(new object_game());
t.start();
}
您的“主要”方法被认为是静态的,因此它只能访问静态对象,请尝试将object1声明为静态:
public static Object object1;
编辑:如果您需要2个对象,则这样做没有任何危害:
public static Object object1;
public static Object object2;
不要混淆静态字段和静态类(例如Singleton)。在此上下文中,静态(静态Object
object1)仅表示在类car_game的每个实例中只有一个对象的实例,在上述情况下,即使您实例化了10个对象,也只有2个Object(object1和object2)实例。类型为“
car_game”的对象。
例如,如果我愿意:
car_game carGameObject1 = new car_game();
car_game carGameObject2 = new car_game();
carGameObject1.setObject1("this is one");
然后:
System.out.println(carGameObject2.getObject1());
它会打印“ this is one”,因为因为object1是静态的,所以该字段所属的类的所有实例将共享同一实例。
我是Android编码的n00b,今天我想尝试使用定位服务。 我设置了一个简单的类和一个简单的main,只是为了得到经度和纬度。 但当我尝试调用retrive的构造时,long and latitude Android Studio弹出了一个错误: 错误:(33,16)错误:无法从静态上下文引用非静态变量纬度 这是我的位置班
我编写了以下测试代码: 但会出现以下错误: 我如何让我的方法识别我的类变量?
问题内容: 我是Java新手,我正在尝试通过递归函数部署斐波那契跟踪,然后计算运行时间。这是我设法编写的代码: 问题是,当我尝试将其转换为字节码时,出现以下错误: 我想知道是什么问题?! 问题答案: 更改 至 并使该方法静态。 或者,改变 至
原谅我的无知。我是初学者: 为什么下面的代码给我以下编译错误?[line: 16]非静态变量x不能从静态上下文中引用
我在阅读Kathy and Bert SCJP1.6时遇到了以下代码: 虽然是在跟踪变量的主题下,但我无法理解如何在main()方法(static)中引用非静态变量myBar?
我最近开始用Java编码,我有一个关于轮盘赌/挖掘游戏(终端)的问题。 每次尝试使用“bank.amount”购买特定商品时,都会出现以下错误: 这是我的shop.java文件 如果你需要更多的代码(例如,我的主类或银行类),请随时问我!