Rumah > Java > javaTutorial > Mengapakah kelas yang disusun Java mengandungi nama seperti \'Find$1.class\'?

Mengapakah kelas yang disusun Java mengandungi nama seperti \'Find$1.class\'?

Patricia Arquette
Lepaskan: 2024-10-26 00:45:27
asal
993 orang telah melayarinya

Why do Java compiled classes contain names like

Menandakan Kelas Dalaman dalam Kelas Tersusun Java

Di Java, apabila mengeksport aplikasi ke fail JAR, kelas tertentu mungkin mengandungi nama kelas diikuti dengan tanda dolar dan nombor, seperti Find$1.class. Ini berlaku kerana Java menyusun kelas dalam, termasuk kelas dalam tanpa nama, secara berasingan daripada kelas utama.

Kelas dalaman, yang ditakrifkan dalam kelas lain, membolehkan konsep pengaturcaraan berorientasikan objek seperti pengkapsulan dan kebolehgunaan semula kod. Mereka dijana pengkompil dan fail kelas mereka mempunyai konvensyen penamaan berikut:

  • Dinamakan kelas dalaman: OuterClass$InnerClass.class
  • Inner tanpa nama kelas: OuterClass$1.class (di mana 1 mewakili kelas tanpa nama)

Sebagai contoh, dalam kod berikut:

<code class="java">public class OuterClass {
    public class InnerClass {
        // ...
    }

    public static void main(String[] args) {
        OuterClass.InnerClass inner = new InnerClass();
    }
}</code>
Salin selepas log masuk

Kompilasi akan menjana fail kelas berikut :

  • OuterClass.class
  • OuterClass$InnerClass.class

Nama fail kelas tanda dolar berfungsi sebagai pemisah untuk membezakan antara luar dan dalam kelas. Ia menunjukkan bahawa kelas dalam tergolong dalam kelas luar yang ditentukan.

Atas ialah kandungan terperinci Mengapakah kelas yang disusun Java mengandungi nama seperti \'Find$1.class\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan