Kelas dalaman statik ialah kelas bersarang. Kelas ini hadir sebagai ahli statik di bawah mana-mana kelas yang bertindak sebagai kelas luar. Ia tidak memerlukan objek kelas untuk dicipta untuk menggunakan fungsi ahli dan pembolehubah. Ia boleh dijadikan instantiated dengan bantuan kelas luar. Selain itu, ia mempunyai had bahawa ia tidak boleh mengakses fungsi ahli bukan statik dan pembolehubah ahli sama seperti pembolehubah statik.
Sintaks:
Mulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Sintaks kelas bersarang statik JAVA disediakan di bawah. Di sini kita perlu mempunyai kelas luar yang akan berfungsi sebagai kelas payung untuk kelas dalam. Kelas dalam akan terletak di dalam gelung kelas luar. Kelas dalam akan mempunyai kata kunci "statik" sebelum kelas supaya kelas dalam boleh dikenali sebagai kelas statik dalam atau bersarang statik.
class outerclass { static class Innerclass { //Member variables //Member functions } }
JAVA kelas bersarang statik diisytiharkan dengan menggunakan kata kunci "statik" sebelum kelas pada masa definisi kelas. Kata kunci statik juga digunakan dengan kaedah dan pembolehubah untuk mengekalkan skop pembolehubah dan kaedah sepanjang program tanpa ia mula ditindih. Ciri yang sama boleh digunakan pada peringkat kelas tetapi dengan pengecualian ia mestilah kelas dalam. Fungsi kelas statik bersarang boleh difahami dengan baik melalui contoh yang dijelaskan dalam bahagian seterusnya.
Walaupun terdapat beberapa perkara penting yang perlu diberi perhatian berkenaan kelas bersarang statik JAVA:
Beberapa contoh, berserta penjelasannya, disediakan di bawah untuk anda semak.
Contoh ini menunjukkan penggunaan dan pemahaman kata kunci statik dalam aliran data semasa pemprosesan program.
Kod:
public class Test1 { static int vnumber=25; static class Innerclass { void printmsg () { System.out.println ("We are running this proram to undertsand the implementation of static keyword under JAVA nested class. The value of number passed here is "+vnumber);} } public static void main(String args[] ) { Test1.Innerclass object=new Test1.Innerclass(); object.printmsg(); } }
Output:
Penjelasan: Kelas statik tidak dibuat secara langsung, jadi dalam contoh ini, kelas statik dibuat seketika dengan bantuan kelas luar. Kelas luar "Test1" ditakrifkan dengan pembolehubah statik bernama "vnumber" dan kelas statik dipanggil "Innerclass". Kaedah ini ditakrifkan di bawah kelas dalaman bernama "printmsg()". Fungsi ini mengandungi rentetan dan pembolehubah yang ditakrifkan dalam kelas luar.
Apabila program dilaksanakan, fungsi utama dipanggil terlebih dahulu. Kelas luar, bersama-sama dengan kelas dalam dengan pengendali titik, digunakan untuk instantiasi. Contoh bernama "objek" digunakan. Objek kemudiannya digunakan untuk memanggil fungsi printmsg(). Fungsi printms() membawa rentetan yang disimpan di dalamnya dan pembolehubah dengan nilai 25 yang datang daripada perisytiharan pembolehubah statik kelas luar. Jadi kami telah menggunakan kaedah instantiasi kelas untuk menunjukkan penggunaan kelas bersarang statik. Satu perkara yang perlu diperhatikan di sini ialah kelas dalaman statik dan pembolehubah statik digunakan, tetapi fungsi printmsg() bukan statik. Inilah sebab yang kami nyatakan dalam contoh di atas. Jika fungsi ini adalah statik, maka kami akan menggunakannya dengan cara lain.
Kod:
public class Test2 { static int vnumber=30; static class Innerclass { static void printmsg() { System.out.println("We are running this proram to undertsand the implementation of static keyword under JAVA nested class. The value of number passed here is : "+vnumber);} } public static void main(String args[]) { Test2.Innerclass.printmsg(); } }
Output:
Penjelasan: Di sini, kami menunjukkan contoh fungsi bersarang statik di mana pembolehubah, kelas dan kaedah semuanya ditakrifkan secara statik. Ini dilakukan untuk menunjukkan kaedah memanggil secara langsung dan bukannya menggunakan objek untuk memanggil kaedah. Memandangkan di mana sahaja kata kunci "statik" digunakan, tidak diperlukan untuk mencipta objek. Seseorang boleh menggunakannya secara langsung. Jadi di sini, kelas luar bernama "test2" dicipta dengan pembolehubah statik dipanggil "vnumber" dan kelas dalam bernama "innerclass". Innerclass dilampirkan dengan kata kunci statik untuk menunjukkan penggunaan kelas bersarang statik. Kelas dalam mempunyai fungsi ahli statik dengan rentetan dan pembolehubahnya.
Fungsi utama dipanggil semasa program dilaksanakan. Kelas luar, kelas dalam dan kaedah dipanggil terus melalui pengendali titik. Di sini kami tidak mencipta objek seperti yang kami buat dalam contoh sebelumnya kerana kaedah itu sendiri diisytiharkan statik.
Kelas bersarang statik boleh berguna apabila kita ingin menyekat penggunaan fungsi ahli fungsi luar dalam kelas dalam. Ini adalah mungkin kerana kelas statik dalaman boleh mengakses hanya ahli statik kelas luar manakala ahli bukan statik lain dari kelas luar masih memerlukan objek untuk dibuat jika kelas dalam mahu menggunakannya. Ini digunakan sekiranya pengaturcara sedang mencari beberapa keselamatan untuk diwarisi dalam kodnya. Kata kunci statik memastikan data tidak dimanipulasi dengan mudah. Ini menggalakkan keselamatan dan kebolehpercayaan data pada aplikasi.
Atas ialah kandungan terperinci Kelas Bersarang Statik Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!