Jika saya mengetik:
void doThis(){
System.out.println("Hello Stackoverflow.");
}
apa ruang lingkup standar doThis()
?
Publik? Terlindung? Pribadi?
Ruang lingkup default adalah paket-pribadi. Semua kelas dalam paket yang sama dapat mengakses metode / bidang / kelas. Paket-pribadi lebih ketat daripada ruang lingkup yang dilindungi dan publik, tetapi lebih permisif daripada ruang lingkup pribadi.
Informasi lebih lanjut:
http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html
http://mindprod.com/jgloss/scope.html
Apa pun yang didefinisikan sebagai paket pribadi dapat diakses oleh kelas itu sendiri, kelas lain dalam paket yang sama, tetapi tidak di luar paket, dan bukan oleh sub-kelas.
Lihat halaman ini untuk tabel berguna pengubah tingkat akses ...
sumber
Tanpa pengubah akses, anggota kelas dapat diakses di seluruh paket yang dinyatakannya. Anda dapat belajar lebih banyak dari Spesifikasi Bahasa Jawa, §6.6.
Anggota antarmuka selalu dapat diakses oleh publik, baik secara eksplisit atau tidak.
sumber
Lingkup default adalah "default". Aneh - lihat referensi ini untuk info lebih lanjut.
sumber
Java 8 sekarang memungkinkan implementasi metode di dalam antarmuka itu sendiri dengan ruang lingkup default (dan hanya statis).
sumber
Jika Anda tidak memberikan pengubah apa pun ke metode Anda, maka sebagai pengubah default akan ada pengubah bawaan yang memiliki ruang lingkup di dalam paket.
untuk info lebih lanjut Anda dapat merujuk http://wiki.answers.com/Q/What_is_default_access_specifier_in_Java
sumber