有美元符號的 Java 編譯類別
Java 程式設計師經常在編譯的類別檔案中遇到特殊的命名約定。一些類別的類別名稱呈現出奇怪的模式,後面跟著一個美元符號和一個數字。例如,您可能會看到以下檔案:
深入探究原因
與普遍看法相反,班級的規模不會觸發此行為。答案就在內部類別。當類別包含內部類別時,編譯器會為這些內部類別產生單獨的類別檔案。檔案名稱遵循以下模式:
OuterClass.class OuterClass$InnerClass.class
匿名內部類別
匿名內部類別在沒有自訂名稱的情況下定義,並指派數字。這解釋了“Find$1.class”和類似的檔案名稱。
範例
考慮以下程式碼片段:
public class OuterClass { class InnerClass { } Serializable anonymous = new Serializable() { }; }
編譯器會產生下列類別檔案:
OuterClass$1.class
考慮匿名類別嗎? 匿名內部類別的使用一直存在爭議。有些人認為這是一種代碼味道,而另一些人則認為它在某些情況下是否合適。最終,使用它們的決定取決於特定的設計要求。以上是為什麼 Java 編譯類別有美元符號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!