我們能否在 Java 中將 main() 方法宣告為非靜態方法?
公共的static void main(String ar[])方法是 Java 中執行的入口點。當我們執行一個 .class 檔案時,JVM 會搜尋 main 方法,並逐行執行其內容。
你可以在你的程式中編寫 main 方法,而無需static 修飾符,程式可以在沒有編譯錯誤的情況下編譯。
但是,在執行時,JVM 不會將這個新方法(沒有 static)視為程式的入口點。它會搜尋公共的 main 方法,該方法具有 static、返回型別為 void,並且有一個 String 陣列作為引數。
public static int main(String[] args){ }
如果沒有找到這樣的方法,就會產生一個執行時錯誤。
示例
在 Sample 類中的以下 Java 程式中,我們有一個 main 方法,它公開,無返回值(void),並接受一個 String 陣列作為引數。但不是靜態的。
import java.util.Scanner; public class Sample{ public void main(String[] args){ System.out.println("This is a sample program"); } }
輸出
執行此程式時,會生成以下錯誤 -
Error: Main method is not static in class Sample, please define the main method as − public static void main(String[] args)
廣告