Video: How To Completely Understand "Scope" in Java, With Ease ☕ 2025
Karena aplikasi Java Anda menjadi lebih kompleks, kebutuhan untuk mempertimbangkan ruang lingkup menjadi semakin penting. Alasan utama adalah bahwa Anda secara tidak sengaja dapat mengenalkan bug ke aplikasi Anda dengan tidak mematuhi peraturan pelingkupan.
Hal ini dapat terjadi akibat lapangan atau anggota lain yang digunakan secara tidak benar oleh aplikasi (seperti menambahkan nilai data yang salah atau mengakses metode di waktu yang salah atau dengan data yang salah) Selain itu, pelingkupan yang salah dapat membiarkan pintu terbuka bagi orang luar untuk berinteraksi dengan aplikasi Anda dengan cara yang tidak terduga (seperti virus).
Lingkup default terjadi ketika Anda tidak secara khusus menetapkan ruang lingkup untuk elemen kelas.Karena banyak pengembang Java tidak tahu apa cakupan default untuk beberapa elemen (dan menggunakan cakupan default berarti kode Anda tidak terdokumentasi), itu tidak digunakan sangat sering.
Meski begitu, Anda perlu t o tahu apa cakupan default untuk berbagai elemen karena beberapa pengembang Java mengandalkannya. Namun, sebelum Anda dapat memahami cakupan default, Anda perlu mempertimbangkan visibilitas - ukuran elemen aplikasi mana yang dapat melihat anggota. Java menyediakan tingkat visibilitas berikut (dalam urutan umum enkapsulasi):
-
Paket: Wadah digunakan untuk menampung sejumlah kelas. Saat bekerja dengan struktur direktori sederhana, seperti contoh dalam buku ini, paket adalah direktori yang menyimpan sejumlah. file kelas
-
Kelas: Kelas biasanya berada dalam satu tunggal. file java yang anda kompilasi menjadi a. file kelas Ini berisi deklarasi kelas tunggal.
-
Metode: Elemen dapat berada di kelas atau sebagai bagian dari metode. Metode ini bertindak sebagai wadah untuk menahan elemen.
-
Blokir: Elemen dapat berada dalam blok kode, seperti untuk loop.
Ruang lingkup sebagian tergantung pada lokasi yang digunakan untuk mendeklarasikan elemen. Misalnya, variabel yang didefinisikan dalam blok (seperti for for loop) hanya terlihat di dalam blok itu. Bila Anda mencoba menggunakan variabel di luar blok, Java menampilkan pengecualian. Dengan mempertimbangkan visibilitas, tabel ini menjelaskan berbagai tingkat lingkup lingkungan di Jawa.
Visibilitas | pribadi | (default) | dilindungi | publik |
---|---|---|---|---|
dapat diakses dari kelas | X | X | X | X |
Dapat diakses dari paket | X | X | X | |
Dapat diakses dari kelas anak | X | X | ||
Dapat diakses di manapun | X |
Tabel menunjukkan bagaimana cakupan default sesuai dengan skema hal. Misalnya, jika Anda mendeklarasikan sebuah metode dengan menggunakan cakupan default, metode apa pun dapat menggunakannya selama berada dalam paket yang sama.Selain itu, jika Anda membuat kelas yang mewarisi dari kelas yang berisi metode ini, subkelas dapat menggunakan metode ini selama berada dalam paket yang sama.
Namun, jika subkelas ada di luar paket saat ini, metode ini tidak dapat digunakan. Singkatnya, cakupan default sedikit lebih ketat daripada cakupan yang dilindungi, namun kurang ketat daripada cakupan pribadi.
