我有一个类SpellingSuggestor
,其构造函数具有签名
public SpellingSuggestor(File file) throws IOException { // something }
我想从另一个类调用它的构造函数。代码就是这样的
public class NLPApplications
public static void main(String[] args) {
String w= "randomword";
URL url = getClass().getResource("big.txt");
File file = new File(url.getPath());
System.out.println((new SpellingSuggestor(file)).correct(w));
}
}
但上面显示了URL url..
行中的错误
出了什么问题?
我看了这个问题How to pass a text file as a argument?。我不习惯用Java处理文件,所以这个问题。
答案 0 :(得分:2)
导入:
import java.net.URL;
使用class literal:
URL url = NLPApplications.class.getResource("big.txt");
答案 1 :(得分:2)
getclass()
是一种非静态方法,您无法通过静态主方法进行引用。
为什么会这样? find here it is already answered的danben
解决方法是 -
NLPApplications.class.getClass().getResource("big.txt");
答案 2 :(得分:2)
因为您尝试在静态Main方法中访问非静态方法(不允许),您必须使用TheClassName.class
而不是getClass()
。