檢查Eclipse 產生的JAR 檔案時,使用者偶爾會遇到帶有美元符號($) 後跟數字的類。這種現像在較大的類別中尤其明顯,引發了人們的疑問:它是否表示該類別的多個編譯版本。
類別名稱中存在美元符號表示內部類別。這些是外部類別中定義的附加類別。編譯器為每個內部類別分配一個唯一的編號來區分它們。
例如,以下程式碼定義了一個具有兩個巢狀類別的外部類別:
<code class="java">public class Find { private class InnerClass1 {} private class InnerClass2 {} }</code>
編譯後,以下類別將產生檔案:
此外,匿名內部類,即在一語句中宣告和實例化的類,也用美元符號後面跟著數字表示。
<code class="java">public class Main { public static void main(String[] args) { new Thread() { // Anonymous inner class // Override run() method }.start(); } }</code>
在此範例中,匿名內部類別將產生一個類別檔案名稱為Main$1.class.
與最初的假設相反,外部類別的大小並不能決定是否會產生內部類別。內部類別僅根據嵌套類別的存在而生成,而不管外部類別的大小。
以上是## 編譯的 Java 類別中的美元符號是什麼以及它們的意義是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!