Karakter izin akses:
(1) Publik:
Untuk anggota: Mereka dapat diakses oleh kelas lain, baik dalam paket yang sama atau dalam paket lain.
Untuk kelas: Hal yang sama benar.
(2) Ramah:
Kepada anggota lama: Jika anggota kelas tidak memiliki modifikasi izin, maka pintunya adalah izin akses paket default.
Ini bukan kata kunci di Java, tetapi di sini adalah cara untuk mengekspresikannya secara langsung. Kelas lain dalam paket yang sama dapat diakses, tetapi di luar paket
Itu tidak mungkin. Untuk kelas yang tidak di bawah folder yang sama, tanpa paket, Java akan secara otomatis melihat kelas -kelas ini seperti di bawah direktori yang dimiliki oleh direktori ini
Paket default dapat menghubungi anggota yang ramah di kelas. Misalnya, dua kelas berikut masing -masing ada di dua file dari folder yang sama
Meskipun tidak diperkenalkan dalam paket, itu termasuk paket default yang sama.
kelas Sundae {// Dua metode berikut adalah Sundae yang ramah () {} void f () {System.out.println ("Sundae.f ()"); string] args) {sundae x = new sundae ();
Untuk kelas: Kelas dalam paket yang sama dapat digunakan. Singkatnya, kelas hanya dapat dinyatakan sebagai publik atau ramah.
(3) Pribadi:
Untuk anggota: Hanya akses ke kelas tempat anggota tersebut.
kelas sundae {private sundae () {} // itu hanya dapat dipanggil di sundae class sundae (int i) {} static sundae makasundae () {mengembalikan sundae baru (); String [] args) {// konstruktor sundae () di kelas sundae bersifat pribadi, // sehingga tidak dapat diinisialisasi // sundae x = sundae baru (); int) Ini ramah, Anda dapat menghubungi sunae z = sundae.makasundae ();}}
Untuk kelas: Kelas tidak dapat dinyatakan sebagai pribadi.
(4) Dilindungi:
Untuk anggota: Kelas dalam paket yang sama dapat mengakses (izin akses paket);
(5) default (izin default)
Kelas, anggota data, metode konstruktif, dan anggota metode dapat menggunakan izin default, yaitu, bukan untuk menulis kata kunci apa pun. Izin default adalah izin paket yang sama, dan elemen -elemen dari izin paket yang sama hanya dapat dipanggil di kelas mereka dan kelas paket yang sama.
Contoh: Paket C05.Local;
Import Pack1.cookie; // Note: Here ChocolateChip inherits the Cookie -like cookie, the bite () method is also in // chocolatechip, you can directly call it with x.bite, but not, because the class chocolateChip // and Cookie Kelas tidak ada dalam paket, dan masing -masing memiliki izin akses paket Tidak memenuhi persyaratan privasi, jadi yang terbaik adalah mengaturnya untuk dilindungi. System.out .println ("Chocolatechip Constructor");} public static void main (string [] args) {chocolatechip x = new chocolatechip ();
Paket pack1;
Ada penjelasan yang lebih baik untuk izin kelas:
Izin akses kelas kelas:
Publik: Ini dapat digunakan untuk semua akses kelas.
Default: Default dapat disebut ramah, tetapi tidak ada pengubah ramah dalam bahasa Java. Izin akses default adalah izin akses tingkat paket.
Yaitu, jika suatu kelas ditulis tanpa pengubah akses tulis, maka itu adalah izin akses default, dan semua kelas di bawah paket yang sama dapat diakses, bahkan jika kelas dapat dipakai (tentu saja, jika kelas ini tidak memiliki Kemampuan untuk membuat instansi, misalnya, kelas ini tidak menyediakan konstruktor publik).
menjelaskan:
1. Setiap unit kompilasi (file kelas) hanya dapat memiliki satu kelas publik
2. Nama kelas publik (termasuk huruf besar) harus sama dengan file kelasnya.
3. File kelas (*.java) mungkin tidak ada.
Bentuk skenario keberadaan ini: Jika kita menulis kelas dalam suatu paket, itu hanya untuk bekerja sama dengan kelas lain dalam paket, dan kami tidak ingin menulis akun kepada klien (tidak harus menjadi pelanggan dengan makna yang realistis, Mungkin sakit kepala untuk memanggil kelas ini) dan mungkin sedikit sakit kepala untuk melihatnya, dan dimungkinkan untuk sepenuhnya mengubah praktik asli setelah periode waktu tertentu, dan sepenuhnya meninggalkan versi lama dan menggantinya dengan versi baru.
4. Kelas tidak bisa pribadi atau dilindungi.
5. Jika Anda tidak menginginkan objek apa pun yang menghasilkan kelas tertentu, Anda dapat mengatur semua konstruktor ke pribadi. Namun demikian, objek kelas ini dapat dihasilkan, yang merupakan anggota (properti dan metode) dari kelas statis dapat dilakukan.
Contoh Komprehensif:
First.java:
Nomor Paket; ; oleh kelas dan subkelas dalam paket yang sama. ;
Keluaran:
tes tes halo java