Skip to content
本站總訪問量
本站訪客數 人次

什麼是固定簽名?

簽名(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 也必須存在的原因!

Contributors

The avatar of contributor named as lucashsu95 lucashsu95

Changelog