.java 檔案,最多一個 public 類別,檔名須與該類別同名。javac.exe、java.exe)的目錄清單。.class 檔案的目錄/封裝檔清單。JDK 內建目錄(如 jre/lib/rt.jar、jre/classes/)會被自動搜尋,開發者不應將自訂類別放入其中,避免升級 JDK 時遺失。
.)-classpath 指定路徑# 編譯時指定 classpath javac -classpath .;C:/lib/mylib.jar MyClass.java # 執行時指定 classpath (cp 為縮寫) java -cp .;C:/lib/mylib.jar MyClass
關鍵提醒:使用 -classpath 或 -cp 會完全覆蓋 環境變數 CLASSPATH,若需保留當前目錄搜尋,必須顯式加入 .。
jre/classes:升級 JDK 即消失,違反模組化原則。package com.demo; 的類別必須置於 com/demo/ 子目錄下。雖原文未詳述,但現代 JVM 採用雙親委派:子類別載入器先委派父載入器嘗試載入,失敗才自行載入。這確保核心類別(java.lang.*)不被惡意覆寫,也是安全機制基石。
徹底理解類別載入路徑與順序,是從「能跑」進階到「可控、可維運」的關鍵門檻。