我试图从main方法中的OpenFile
类调用CreateFile
方法,但我一直得到这样的错误:我不能从静态上下文调用非静态变量。
public class OpenFile {
private Formatter file;
public void createFile() throws FileNotFoundException{
try{
file = new Formatter("test.txt");
} catch(Exception e) {
System.out.println("Error creating file.");
}
}
OpenFile of = new OpenFile();
public static void main(String[] args) {
// TODO code application logic here
of.createFile();
intro();
createAndShowRibbon();
createAndShowNormalUI();
}
多谢了。
OpenFile of = new OpenFile();
应该是
static OpenFile of = new OpenFile();
您正在从静态void main
方法访问它。如果该变量未声明为statice
,则静态执行时该变量对方法将不可用。
我最近开始用Java编码,我有一个关于轮盘赌/挖掘游戏(终端)的问题。 每次尝试使用“bank.amount”购买特定商品时,都会出现以下错误: 这是我的shop.java文件 如果你需要更多的代码(例如,我的主类或银行类),请随时问我!
我是Android编码的n00b,今天我想尝试使用定位服务。 我设置了一个简单的类和一个简单的main,只是为了得到经度和纬度。 但当我尝试调用retrive的构造时,long and latitude Android Studio弹出了一个错误: 错误:(33,16)错误:无法从静态上下文引用非静态变量纬度 这是我的位置班
我编写了以下测试代码: 但会出现以下错误: 我如何让我的方法识别我的类变量?
问题内容: 我是Java新手,我正在尝试通过递归函数部署斐波那契跟踪,然后计算运行时间。这是我设法编写的代码: 问题是,当我尝试将其转换为字节码时,出现以下错误: 我想知道是什么问题?! 问题答案: 更改 至 并使该方法静态。 或者,改变 至
错误来自此行板状态 addme = 新板状态(); 由于某种原因,它所指向的非静态变量是“新”的。我不清楚如何修复这个错误,因为new不应该是一个变量,也不是。 查看stackoverflow记录,该错误通常来自非静态方法,通常通过将该方法设为静态或完全绕过该方法来解决。T 下面的代码是为了引用这个语句前后发生的事情。 }……
我知道这个问题已经被问了很多很多次,我也读过很多答案,但是我不知道如何解决我的问题。以下是我的代码: 我最初确实通过更改来解决此问题: 到 虽然这确实有效,但我觉得这不是一个好方法。我读过一些关于实例变量的内容,但我不知道如何做到这一点。 谢谢