我通过记事本
编译了以下代码javap MainClass
我没有使用静态关键字和上面的代码执行,但是当我做了
class MainClass {
MainClass();
public static void main(java.lang.String[]);
}
在命令提示符下,我得到了以下输出,
public void main(String args[])
关键字已自行添加,
也是如此public String filterMessage(String actionIn, String messageIn) {
String message = null;
try{
switch (actionIn) {
//EDIT: this calls the other class causing parseexception
case "search":
message = (srvmt.SearchEngine(messageIn));
break;
default:
message = messageIn;
break;
}
}catch (ParseException e) {
System.out.println("Encountered parse exception");
e.printStackTrace();
}catch(IOException ioException){
ioException.printStackTrace();
}
return message;
}
也被视为有效签名?
答案 0 :(得分:5)
如JLS Sec 12.1.4中所述:
方法main必须声明为
public
,static
和void
。它必须指定一个形式参数(第8.4.1节),其声明的类型是String
的数组。
我想你可能一直在看这个类的过时版本;当我尝试反编译代码时,static
尚未添加。
Compiled from "MainClass.java"
class MainClass {
MainClass();
public void main(java.lang.String[]);
}