以下是我的问题代码:
public File openInputFile(Scanner kb)
{
if(kb == null)
{
throw new RuntimeException("ERROR! Scanner Not Detected.");
}
System.out.print("Enter Name of File: ");
String fn = kb.nextLine();
File inf = FileUtil.openInputFile(fn);
return inf;
}
我收到以下错误:
FileUtil.java:33: error: non-static method openInputFile(String) cannot be referenced from a static context
File inf = FileUtil.openInputFile(fn);
^
没有什么是静态的,所以我不确定为什么我会收到此错误。有人可以帮忙吗?
答案 0 :(得分:0)
File inf = FileUtil.openInputFile(fn);
告诉编译器openInputFile(fn)
是类FileUtil
的静态方法,因为您试图从类名本身调用该方法。这就是编译器说的原因
FileUtil.java:33: error: non-static method openInputFile(String) cannot be referenced from a static context
所以,你需要做的就是创建一个文件util的对象并从该对象调用该方法。
答案 1 :(得分:0)
FileUtil
类有一个方法openInputFile()
似乎是非静态的,因此您必须通过创建FileUtil
FileUtil fileut= new FileUtil();
fileut.openInputFile();