標籤:
1.標準的main函數形式
對於main函數,只要是
public static void main(String[] args)public static void main(String... args)public static void main(String args[])
這樣的,虛擬機器都能找到並進入程式,如果你的main函數沒有這樣寫,會提示找不到main函數。
2.main函數的修飾
(1)public,因為需要從外部調用;
(2)static,這時main所在的類還沒有執行個體化;
(3)void,表明不傳回值。
3.main函數的一般性
除了main是程式的入口外,main函數就是一個普通的函數,每個類都可以有。我們可以對main函數進行調用,重載...
4.重載main方法
public class test { public static void main(int i) { System.out.println("int main : " + i); } public void main(char c) { System.out.println("char main : " + c); } public void main(String s) { System.out.println("char main : " + s); } public static void main(String[] args) { test temp = new test(); main(11); temp.main(‘t‘); temp.main("temp"); }}
5.調用main方法
public class test { private static boolean done = false; public static void print() { if(!done) { done = true; System.out.println("in print"); String[] args = {"a", "b", "c"}; main(args); } } public static void main(String[] args) { for(String s : args) System.out.print(s + " "); print(); }}
6.繼承main方法
class superTest { public static void main(String[] args) { System.out.println("in super"); }}public class test extends superTest{ public static void main(String[] args) { superTest.main(args); System.out.println("in test"); }}
7.調用另外一個程式的main方法
這裡我只是調用同一個.java檔案下的類,你可以調用不同的.java的類,不同package的類的main方法,只要你能在Class.forName()裡給出正確的路徑。
package test;import java.lang.reflect.Method;public class testClass{ public static void main(String[] args) { Class<another> c = null; try { c = (Class<another>) Class.forName("test.another"); //找到另外一個程式的class Method m = c.getDeclaredMethod("main", args.getClass()); //找到該class的main方法 m.invoke(null, (Object) new String[0]); } catch (Exception e) { e.printStackTrace(); } System.out.println("in test"); }}class another { public static void main(String[] args) { System.out.println("in another"); }}
java之main函數