首頁  >  文章  >  Java  >  為什麼編譯後的 Java 類別有美元符號?

為什麼編譯後的 Java 類別有美元符號?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-25 10:35:31961瀏覽

Why Do Compiled Java Classes Have Dollar Signs?

帶有美元符號的Java 編譯類別

使用Eclipse 將應用程式匯出為JAR 檔案時,某些類別可能包含美元符號和一個數字。這可能會令人困惑,特別是對於相對較大的類別。

解釋:

這些類別與內部類別相關,內部類別是在另一個類別中聲明的類別。編譯內部類別時,會產生一個單獨的類別文件,該文件以外部類別名稱後面跟著美元符號和數字命名。例如,名為 Parent 的類別中名為 Child 的內部類別將產生名為 Parent$Child.class 的類別檔案。

未宣告名稱的匿名內部類別會被指派一個數字。這解釋了 JAR 檔案中存在像 Find$1.class 這樣的類別檔案。

Java 程式碼的大小不會影響多個類別檔案的建立。內部類別與主類別分開創建,以維護程式碼的模組化和組織。

範例:

考慮以下程式碼:

<code class="java">public class OuterClass {
    class InnerClass {
    }
    
    public static void main(String[] args) {
        // Create an instance of the inner class
        InnerClass inner = new InnerClass();
    }
}</code>

編譯時,此程式碼會產生兩個類別檔案:OuterClass.class 和OuterClass $InnerClass.class。 main 方法將從外部類別引用內部類別。

以上是為什麼編譯後的 Java 類別有美元符號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn