Java main方法的特性

 

 

package cn.edu.hit.soft.sigh;

public class JavaMain {
	public static int times = 5;
	public static void main(String[] args) {
		System.out.println("your input is :");
		for (String s : args) {
			System.out.println("\t" + s);
		}
		main();
		main( 12 );
		main(12,32);
	}

	public static void main() {
		System.out.println("in  main()");
	}

	public static void main(int x) {
		System.out.println("in  main(int x), x = " + x);
	}

	public static void main(int x, int y) {
		System.out.println("in  main(int x, int y), x = "+ x + ", y = " + y);
	}
}

 

上面這段代碼執行命令

 

java JavaMain "Hello World" Hellow,World Hello World
 

後運行的結果爲:

 

your input is :
        Hello World
        Hellow,World
        Hello
        World
in  main()
in  main(int x), x = 12
in  main(int x, int y), x = 12, y = 32

最先輸出的幾行表明:在命令行下用java命令運行程序並傳遞參數時,將以空格爲分隔符,如果參數內有空格,可以用引號""將其括起,當作一個整體。

後面幾行輸出表明java中程序主入口方法main 是可以被重載,但程序運行時調用的是方法

 

public static void main(String[] agrs) 
 

另外,再看看這個方法能否被其他方法調用,代碼如下:

 

public class JavaMain {
	public static int times = 5;
	public static void main(String[] args) {
        if(times <= 0){
            System.exit(0);
        }
		func(args);
	}

	public static void func( String[] args){
		System.out.println( times + " main call left" );
		times --;
		main(args);
	}
}
 

然後運行,結果如下:

 

5 main call left
4 main call left
3 main call left
2 main call left
1 main call left

 可見,它也是可以被其他方法調用的。

 

  綜上,作爲java程序的入口方法,public statc void main(String[] agrs){}與java中public、static、 void等關鍵字修飾的斯文方法完全一樣,都可以被調用、重寫等,但它又有一個獨有的特點就是:它是java程序的唯一入口。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章