main函數的完整定義語法爲public static void main(String[] args)
main方法是個特殊的方法,它是主程序訪問的入口點,可以使用public、默認(即什麼都不寫)、protected、private進行修飾,並且不會出現運行期錯誤。
其中,public不是 必須的,聲明爲public是爲了main方法可以從任意一個Java運行環境中調用。但是static是必須的,這樣可以在不需要構造類實例的前提下,直接運行應用程序。
main方法沒有返回值,返回值聲明必須爲void,而不能沒有定義或定義爲其他類型。
例題1:
以下哪些是main方法的正確形式?
(1)static void main(String[] args){}
(2)public static void main(String[] args){}
(3)public static void main(String args[]){}
(4)public static void main(String door[]){]
答案:1,2,3,4
以下文件“TestMain.java”
//測試main函數的寫法
public class TestMain{
/*
public static void main(String[] args){//可以通過編譯,而且能運行
System.out.println("test ok!");
}
*/
/*
static public void main(String[] args){//可以通過編譯,而且能運行
System.out.println("test ok!");
}
*/
/*
static void main(String[] args){//可以通過編譯,但不能運行,提示:Main method not public
System.out.println("test ok!");
}
*/
/*
public static void main(String args){//可以通過編譯,但不能運行
System.out.println("test ok!");
}
*/
/*
public void main(String[] args){//可以過編譯,不可運行,因爲static修飾符是必須的。
System.out.println("test ok!");
}
*/
/*
void main(String[] args){//可以通過編譯,不可運行
System.out.println("test ok!");
}
*/
public static void main(String[] args){
System.out.println(args.length);
//System.out.println(args[2]);//命令行上輸入java TestMain,則args[2]不存在,故有異常,不能正常運行
}
}