教學來源:
4. Why public static void main(String args[ ]) ? JAVA
有static就可以直接使用class的方法(像是:Ted.name而不用Ted ted = new Ted()在ted.name)。
JVM 就是因為main有static,所以可以直接使用main方法。
如果檔名和class不同,再complier的時候,還是會變成class(類別)檔名。
像是class是t,檔名是a.java:
class t{
public static void main(String[] args) {
System.out.println("Hi");
}
}
javac a.java不會有錯誤,但是產生的檔案還是t.class :
但是如果class是public的,檔名就要和class名一樣。
不然會有錯誤:
錯誤: 找不到或無法載入主要類別 a.java
把static拿掉後的錯誤:
錯誤: 主要方法不是類別 t 中的 static,請定義主要方法為:
public static void main(String[] args)
把void拿掉後的錯誤:
error: invalid method declaration; return type required
把String[] args拿掉後的錯誤:
把public拿掉後的錯誤:
class t{
public static void main(String[] args) {
System.out.println("Hi");
System.out.println("args[0] is "+args[0]);
System.out.println("args[1] is "+args[1]);
System.out.println("args[2] is "+args[2]);
}
}