遵循SAX的JavaDocs教程: main方法无法识别方法usage()。据我所知,它应该是可访问的,因为方法被声明为静态并且与main方法存在于同一个包中。
public class Main {
public static void main(String args[]){
String filename = null;
//Checks to see if commnad line arguments are present
for (int i = 0; i < args.length; i++) {
filename = args[i];
if (i != args.length - 1) {
usage();
}
}
if (filename == null) {
usage();
}
//Defined in the same package as the main method
public class SAXLocalNameCount extends DefaultHandler{
private Hashtable tags;
public void startDocument() throws SAXException{
tags = new Hashtable();
}
//The problem method
private static void usage() {
System.err.println("Usage: SAXLocalNameCount <file.xml>");
System.err.println(" -usage or -help = this message");
System.exit(1);
}
}
答案 0 :(得分:2)
usage()似乎是SAXLocalNameCount类的成员,而不是Main类。尽管有缩进。
答案 1 :(得分:0)
现在定义的使用方法只能在SAXLocalNameCount类的另一个静态方法或静态代码块中使用。
你可以: