星期四, 12月 02, 2004

Java , main 方法是具有特權的方法

main 方法是具有特權的方法。記憶體內若無此方法的存在,

程式便無法啟動。但是 Java 有項「所有的方法(包括物件)都必

須在 class 內定義」的限制,不能像 C++ 一樣在 class 以外定義

全域的物件或方法。這樣一來,解決之道只有一途,那就是將

main 方法宣告成 static,並在定義類別時,確立記憶體的空間。

static 的 main 方法為 Java 的必然歸宿。

在 JVM 裡面在執行一個 class 的時候所需要的一個入口
比如說:
public final class METAVIGE {

private String name = "metavige";
private static final String nickname = "gentleman";

public String toString() {
return name + " is " + nickname;
}
}

如果要執行這個 class, 就必須替這個 class 建立一個 入口 給 JVM
讓 JVM 知道要先執行哪一個 method
所以就必須在這個 class 裡面加入一個 靜態方法 (static method)
原始碼就會變成這樣:
public final class METAVIGE {

private String name = "metavige";
private static final String nickname = "gentleman";

public String toString() {
return name + " is a " + nickname;
}

public static void main(String args[]) {
METAVIGE me = new METAVIGE();
System.out.println(me);
}

}


所以呢
在執行的時候:
C:\JavaTest>java METAVIGE

JVM 就會知道去找 METAVIGE class 裡面的 main() 方法來執行

不知道我這樣解釋
是不是能比較明白的了解

0 Comments:

張貼留言

<< Home