Artikel ini terutama mempelajari konten terkait tentang kontrol hak akses pemrograman Java, sebagai berikut.
Untuk pengubah yang tidak saya perhatikan sebelumnya, umumnya, variabel tidak ditambahkan sebelumnya, satu karena saya tidak tahu apa itu, dan yang lainnya karena saya malas. Ketika saya menemukan sebuah proyek kemudian, saya menemukan bahwa masih ada perbedaan besar antara swasta dan publik.
(1) Pertama -tama, nama paket
Saat menggunakan kelas, seperti kelas koleksi, Anda perlu memperkenalkan paket ini dan kemudian menggunakan kelas di bawah paket. menyukai:
paket com.myown.iaiti; cetak kelas publik {static void print (string s) {System.out.println (s); }}Paket yang disesuaikan, dengan memperkenalkan paket Anda sendiri, Anda dapat menggunakan metode yang Anda tulis untuk mencetak string di masa mendatang. Saya telah mencoba mengatur jalur paket saya sendiri ke Classpath sebelumnya, jadi ketika menyusun di direktori lain, Anda tidak perlu memasukkan paket ke dalam direktori ini, dan itu juga dapat berjalan secara normal, jika tidak paket JAR tidak akan ditemukan.
(2) Publik
Publik, publik, di masa lalu, guru sering menggunakan Lao Tzu sebagai metafora. Ini adalah hal publik, saya akan menggunakannya untuk Anda. Publik mengikuti anggota data dengan cermat, yang berarti tersedia untuk semua orang.
(3) Pribadi
Pribadi, pribadi, properti pribadi saya, jangan menyentuhnya. Kecuali untuk kelas yang berisi anggota data ini dalam paket yang dapat digunakan, kelas lain tidak dapat digunakan. Bagian ini adalah sesuatu yang tidak ingin ditampilkan atau dimodifikasi oleh perancang sendiri untuk orang luar.
cetak kelas publik {public static void main (string [] args) {getit g = new getit (); }} kelas getit {// Perhatikan bahwa file hanya dapat memiliki satu kelas publik. Jika Anda ingin menambahkan publik di depan //, maka jangan menulisnya di file yang sama dengan print private getit () {}}Konstruktor getit () tidak terlihat, tidak terlihat, dapat dilihat bahwa itu berguna. Pola singleton juga digunakan dengan cara ini, mengendalikan penciptaan objek.
Aplikasi Singleton Mode:
kelas A {private a () {} private static a = new a (); public static a getInstace () {return a; }}Kelas lain tidak dapat membuat objek melalui yang baru, karena konstruktor dimodifikasi oleh pribadi. Tujuannya adalah ketika kelas A ini sangat kompleks dan mengkonsumsi memori, saya perlu mengontrol pembuatan objek secara ketat. Karena kami telah memberikan satu kasus, kami akan berbicara tentang satu kasus. Saya telah membaca beberapa tulisan orang sebelumnya, sangat klasik dan luar biasa.
Di atas adalah gaya pria yang lapar, yaitu untuk membantu Anda menjadi baru segera setelah Anda datang, dan menggunakannya secara langsung ketika Anda mendapatkan yang baru di masa depan. Tidak ada masalah threading. Kerugiannya adalah jika tidak berguna, itu akan membuang -buang sumber daya.
Gaya malas
kelas publik a {private a () {} private static a a; public static a getInstance () {if (a == null) {return a = new a (); } else {return a; }}}Ini akan membantu Anda baru saat menggunakannya, dan itu akan menjadi baru saat Anda menggunakannya, tetapi ada masalah threading. Jika Anda menambahkan sinkronisasi, efisiensinya akan dikurangi karena jika Anda menggunakannya, salah satunya akan ditempati.
Cara yang sempurna adalah menggabungkan keduanya:
Kelas Publik A {// Private Static Inner Class, kelas akan dimuat hanya ketika ada referensi Private Static Class LAZAA {public static aa = new a (); } public static a getInstance () {return laza.a; }}Saya tidak bisa memahami apa yang disebut kelas dalam statis ini sebelumnya. Fungsinya adalah untuk mencapai pemuatan yang tertunda, karena hanya akan digunakan saat baru. Gunakan metode getInstance. Tidak ada masalah multi-threading karena kelas statis milik semua objek kelas eksternal dan hanya akan dimuat sekali. Setelah kelas dalam statis dipakai, itu adalah atribut tingkat kelas, yang bukan milik objek tertentu, tetapi hanya akan dimuat sekali. Dengan cara ini, tidak akan ada limbah sumber daya dan tidak ada masalah inefisiensi multi-threading. Orang yang datang dengan metode ini benar -benar luar biasa.
(4) dilindungi
Cetak adalah kategori dasar. Orang Cina suka berbicara tentang kategori orang tua, tetapi orang asing berpikir bahwa subkategori lebih mengagumkan. Kategori dasar adalah fondasi atau fondasi. Dilindungi adalah properti yang saya tinggalkan secara khusus kepada putra saya.
kelas publik print {protected void print () {} private void tidak dapat mencetak () {}} kelas publik printson memperluas print {void get () {print (); // canTrint (); Metode pribadi pribadi, subkelas masih tidak dapat digunakan}} kelas publik notson {void get () {print (); }}Subkelas yang dimodifikasi yang dilindungi dapat diperoleh, antara publik dan swasta.
(5) Izin akses untuk kelas
Setiap file hanya dapat memiliki satu kelas publik.
Nama kelas dan nama filenya sama.
Jika Anda tidak memiliki fondasi dasar, itu akan sedikit lebih dulu, tetapi setelah poin pengetahuan ditingkatkan, itu akan mudah dimengerti. Kontrol hak akses masih tergantung pada apakah Anda ingin menggunakan bagian kode Anda secara langsung untuk orang lain.
Meringkaskan
Di atas adalah semua penjelasan terperinci dari kode kontrol untuk izin akses pemrograman Java dalam artikel ini, saya harap ini akan membantu semua orang. Teman yang tertarik dapat terus merujuk ke topik terkait lainnya di situs ini. Jika ada kekurangan, silakan tinggalkan pesan untuk menunjukkannya. Terima kasih teman atas dukungan Anda untuk situs ini!