什麼是固定簽名?
簽名(Signature) 指的是方法的完整定義格式,包括:
- 方法名
- 參數類型和數量
- 返回類型
- 訪問修飾符
Java main 方法的固定簽名
Java 規定程序的入口點必須是這個完全相同的格式:
java
public static void main(String[] args)
為什麼是固定的?
1. JVM 的要求
- Java 虛擬機(JVM)在啟動程序時會尋找這個確切的方法簽名
- 如果簽名不匹配,JVM 就找不到入口點
2. 錯誤示例
java
// ❌ 這些都不會被 JVM 識別為程序入口
public void main(String[] args) // 缺少 static
public static void main(String args) // 參數類型錯誤
public static int main(String[] args) // 返回類型錯誤
public static void Main(String[] args) // 方法名大小寫錯誤
3. 正確示例
java
// ✅ 這些都是有效的 main 方法簽名
public static void main(String[] args)
public static void main(String args[]) // 陣列語法的另一種寫法
public static void main(String... args) // 可變參數語法
類比
就像電話號碼格式一樣:
- 電話系統要求特定格式才能撥通
- JVM 要求特定的方法簽名才能啟動程序
- 即使你不使用
args
參數,也必須保持這個格式
這就是為什麼即使不使用命令行參數,String[] args
也必須存在的原因!