Kelas Statik di Java: Mengapa Mereka Tidak Diisytiharkan?
Di Java, kelas ialah binaan asas untuk menyusun kod. Walau bagaimanapun, tidak seperti bahasa lain, anda tidak boleh mengisytiharkan kelas sebagai statik. Sekatan ini menimbulkan persoalan: mengapa tidak?
Jawapan: Kelas Bersarang untuk Fleksibiliti
Jawapannya terletak pada konsep kelas bersarang. Java membolehkan anda menentukan kelas dalam kelas lain, yang dikenali sebagai kelas bersarang. Kelas bersarang boleh sama ada statik atau dalaman.
Kelas bersarang statik diisytiharkan dengan kata kunci statik dan mempunyai akses kepada ahli statik kelas yang disertakan. Ia boleh digunakan tanpa membuat seketika kelas yang disertakan, menawarkan fleksibiliti dan kebolehgunaan semula kod.
Pertimbangkan contoh berikut:
<code class="java">class OuterClass { public static class StaticNestedClass { // ... } } class OtherClass { private OuterClass.StaticNestedClass staticNestedClass = new OuterClass.StaticNestedClass(); // ... }</code>
Dalam contoh ini, StaticNestedClass ialah kelas OuterClass bersarang statik. Ia boleh dijadikan instantiated dalam OtherClass tanpa memerlukan contoh OuterClass.
Kelas Bersarang Bukan Statik: Kelas Dalam
Sebaliknya, kelas dalam diisytiharkan tanpa kata kunci statik dan mempunyai akses kepada kedua-dua ahli statik dan bukan statik kelas yang disertakan. Walau bagaimanapun, mereka memerlukan contoh kelas yang disertakan untuk dibuat.
Dalam contoh di atas, InnerClass ialah kelas dalaman OuterClass. Ia hanya boleh dibuat seketika selepas membuat tika OuterClass.
Faedah Kelas Bersarang Statik
Kelas bersarang statik menawarkan beberapa faedah:
Sumber dan Sumber Tambahan
Untuk mendapatkan maklumat lanjut tentang kelas bersarang di Java, rujuk sumber berikut:
Atas ialah kandungan terperinci Mengapa Kami Tidak Boleh Mengisytiharkan Kelas Statik Secara Terus di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!