首頁  >  文章  >  Java  >  ## 編譯的 Java 類別中的美元符號是什麼以及它們的意義是什麼?

## 編譯的 Java 類別中的美元符號是什麼以及它們的意義是什麼?

Susan Sarandon
Susan Sarandon原創
2024-10-26 09:18:02962瀏覽

## What Are Dollar Signs in Compiled Java Classes and What Do They Mean?

了解編譯的Java 類別中的美元符號

檢查Eclipse 產生的JAR 檔案時,使用者偶爾會遇到帶有美元符號($) 後跟數字的類。這種現像在較大的類別中尤其明顯,引發了人們的疑問:它是否表示該類別的多個編譯版本。

解釋

類別名稱中存在美元符號表示內部類別。這些是外部類別中定義的附加類別。編譯器為每個內部類別分配一個唯一的編號來區分它們。

例如,以下程式碼定義了一個具有兩個巢狀類別的外部類別:

<code class="java">public class Find {
    private class InnerClass1 {}
    private class InnerClass2 {}
}</code>

編譯後,以下類別將產生檔案:

  • Find.class
  • Find$InnerClass1.class
  • Find$InnerClass2.class

此外,匿名內部類,即在一語句中宣告和實例化的類,也用美元符號後面跟著數字表示。

<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中文網其他相關文章!

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