Artikel ini secara singkat menganalisis penggunaan statis di Java, dan terutama lima aspek: variabel anggota statis, metode statis, blok statis, kelas internal statis, dan paket statis.
Pertama-tama, mari kita bicara tentang perbedaan antara objek statis dan objek non-statis dalam tabel:
| Objek statis | Objek non-statis | |
| Atribusi | Kelas memiliki | Setiap contoh kelas dimiliki secara mandiri |
| Alokasi memori | Diperbaiki dalam ruang memori | Penugasan kelas afiliasi |
| Alokasi Pesanan Luar Angkasa | Memprioritaskan alokasi ruang objek statis | Prioritas mengalokasikan ruang objek statis, dan hal yang sama berlaku untuk inisialisasi |
1 variabel statis, metode statis, blok statis
Objek statis dan metode statis dihiasi dengan kata kunci statis pada objek dan metode asli, menunjukkan bahwa kelas dapat memanggil ini secara langsung tanpa instantiasi sebelum memanggilnya. Manfaatnya adalah:
1-Data objek statis adalah unik secara global, dan dapat memastikan keunikan data.
2-mudah mengutip, cukup gunakan nama kelas dan metode (properti) secara langsung, tidak perlu mendapatkan dan mengatur
Tentu saja, metode statis (variabel, blok) juga memiliki batasan yang sesuai:
1-tidak ada metode non-statis lainnya yang dapat disebut (hanya metode statis yang dapat dipanggil)
2-Hanya akses data statis
3-Ini atau super tidak dapat dirujuk dengan cara apa pun
Kode contoh:
Public Class StaticeCercise {public static string sky = "jeyson"; public static string getMysky (string sky) {return sky;} static {System.out.println ("Ini adalah konten dalam blok statis-");}}}}}}}: " secara global unik, dan dapat dipastikan bahwa datanya unik. * 2-Referensi lebih nyaman, cukup gunakan nama dan metode kelas, tanpa set dan dapatkan* *** Tetapkan Pesanan Ruang:* Pertama mengalokasikan ruang objek statis dan kemudian non-statis. Urutan inisialisasi sama dengan variabel anggota modifikasi akhir yang sama *** statis dan metode anggota dapat dipahami sebagai variabel global (tidak ada konsep variabel global dalam java)* *** Keterbatasan objek statis, metode, dan blok:* 1-only call Metode statis lainnya* 2-only Access Data statis* 3-this atau super* tidak dapat dirujuk dengan cara apa pun* Static-static-static@@@@@@3-this atau super* wasit apa pun dengan cara apa pun static static@@@@@3-this atau super* wasit apa pun dengan cara apa pun dalam hal statis* statis 2-@3-this atau super* wasit apa pun dengan cara apa pun dalam hal apa pun@@@3-this atau super* waspence dengan cara apa pun dalam hal apa pun teststatic1 () {System.out.println (Sky); System.out.println ("-----------------"); System.out.println (getMysky (Sky)); System.out.println ("--------------"); System.out.println (statictest.getsms ()); 2 Kelas Dalam Statis
Ketika satu kelas terkait erat dengan kelas lain (kelas eksternal), dan kelas biasanya hanya digunakan ketika kelas eksternal digunakan, kelas dapat digunakan sebagai kelas dalam statis. Ini dapat dihasilkan secara langsung saat kelas dimuat. Tidak perlu instantiate.
Metode Penggunaan: Dimuat dengan kelas, dan hubungi kelas eksternal langsung, kelas internal, objek statis (metode)
Kode contoh:
class statictest {public static string sms = "to my sky"; public static string getSms () {return sms;}/*** Static Inner Class**** Skenario Penggunaan:*Kelas dalam terkait erat dengan kelas luar, dan kelas ini umumnya digunakan hanya saat menggunakan kelas luar**** Penggunaan*Ini dimuat dengan kelas, langsung di luar kelas. Kelas internal. Objek statis (metode)*/kelas statis innerstatic {public static final string mysky = "my final sky";}} @testpublic void teststatic2 () {system.out.println (statictest.innerstatic.mysky);} 2 Paket Panduan Statis
Jika kelas tempat metode statis yang ingin Anda gunakan tidak dalam paket yang sama dengan kelas saat ini, Anda dapat menggunakan paket pengiriman statis. Dengan cara ini, metode atau variabel statis yang ingin Anda gunakan setara dengan terlihat langsung di kelas, dan tidak perlu memanggil nama kelas atau variabel statis.
Bagaimana menggunakan:
Impor nama paket statis. Nama kelas. Variabel Anggota Statis (Metode)
keuntungan:
Variabel dan metode statis yang diimpor secara langsung terlihat di kelas ini dan secara langsung digunakan
menyakiti:
Sampai batas tertentu, keterbacaan kode dikurangi
Contoh kode:
kelas publik mystaticImportTest {public static final int number = 55; public static void getMywords () {System.out.println ("Halo, ini adalah tes paket timah statis");}} impor static com.generic.mystaticporttest.number; impor static com.generic.mystatic.mystaticport.number; impor static com.generic.mystatic.mystatic.number; number; impor static com.generic.mystatic.mystatic.number; number; impor static com.generic.mystatic.mystatic.number.number; impor static com.generic.mystatic.mystatic.number; Statis*/kelas publik staticexercise {/*** Paket timah statis* *** Metode Penggunaan:* Variabel dan Metode Impor Statis Langsung: (Impor Nama Paket Statis. Nama kelas. Variabel anggota statis (Metode)* Impor com.mygeneric.mystaticImportTest.number;* Impor statis com.generic.mystatic.mystaticporports.number; Variabel secara langsung terlihat di kelas ini, tidak perlu memberikan nama kelas* *** Kelemahan* sampai batas tertentu mengurangi keterbacaan kode*/@testpublic void teststatic3 () {// Setelah impor statis, Anda dapat menggunakan int mynumber = angka; getMywords ();}Di atas adalah analisis singkat tentang penggunaan kata kunci statis di Java yang diperkenalkan kepada Anda oleh editor. Saya harap ini akan membantu Anda. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas Anda tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!