"Halo untuk siswa favorit saya. Sekarang saya akan memberi tahu Anda tentang visibilitas variabel."

"Hah? Bisakah variabel tidak terlihat?"

"Tidak. 'Visibilitas' variabel, atau ruang lingkup, berarti tempat dalam kode di mana Anda dapat merujuk ke variabel itu. Anda dapat menggunakan beberapa variabel di mana saja dalam program, tetapi yang lain hanya dapat digunakan di dalam kelas mereka, dan yang lainnya lagi - hanya dalam satu metode. "

"Misalnya, Anda tidak dapat menggunakan variabel sebelum dideklarasikan."

"Itu masuk akal."

"Ini beberapa contohnya:"


public class Variables

{
   private static String TEXT = "The end.";
  ┗━━━━━━━━━━━━━━┛
   public static void main (String[] args)
                          ┗━━━━━━━┛
  {
     System.out.println("Hi");
     String s = "Hi!";
   ┏┗━━━━┛
    System.out.println(s);
    if (args != NULL)
    {
       String s2 = s;
      ┗━━━━┛
   
      System.out.println(s2);
     
    }
    Variables variables = new Variables();
    System.out.println(variables.instanceVariable);
    System.out.println(TEXT);
   
  }
 
   public String instanceVariable;
  ┗━━━━━━━━━━━━━━━┛
   public Variables()
   {
      instanceVariable = "Instance variable test.";
   }
}

1. Variabel yang dideklarasikan dalam suatu metode ada (terlihat) dari awal deklarasi hingga akhir metode.

2. Variabel yang dideklarasikan dalam blok kode ada hingga akhir blok kode.

3. Parameter metode ada di mana-mana di dalam metode.

4. Variabel dalam suatu objek ada selama seluruh umur objek yang memuatnya. Visibilitas mereka juga ditentukan oleh pengubah akses khusus: public dan private .

5. Variabel statis (kelas) ada sepanjang waktu program berjalan. Visibilitas mereka juga ditentukan oleh pengubah akses.

"Saya suka gambar. Mereka membantu memperjelas semuanya."

"Anak baik, Amigo. Aku selalu tahu bahwa kamu orang yang cerdas."

"Saya juga akan memberi tahu Anda tentang ' pengubah akses '. Jangan takut. Tidak ada yang rumit tentang mereka. Di sini Anda dapat melihat kata publik dan pribadi ."

"Aku tidak takut. Hanya saja mataku kedutan."

"Saya percaya Anda. Anda dapat mengelola bagaimana metode dan variabel dari satu kelas diakses oleh (atau dapat dilihat oleh) kelas lain. Anda hanya dapat menetapkan satu pengubah akses untuk setiap metode atau variabel.

1. pengubah akses publik .

Anda dapat menggunakan variabel, metode, atau kelas yang ditandai dengan pengubah publik dari mana saja di dalam program. Ini adalah tingkat akses tertinggi – tidak ada batasan di sini.

2. pengubah akses pribadi .

Anda dapat menggunakan variabel atau metode yang ditandai dengan pengubah pribadi hanya dari kelas yang dideklarasikan. Untuk semua kelas lain, metode atau variabel yang ditandai tidak akan terlihat, seolah-olah tidak ada. Ini adalah tingkat ketertutupan tertinggi – akses hanya di dalam kelasnya sendiri.

3. Tidak ada pengubah.

Jika variabel atau metode tidak ditandai dengan pengubah apa pun, itu dianggap ditandai dengan pengubah akses 'default'. Variabel dan metode seperti itu dapat dilihat oleh semua kelas dalam paket tempat mereka dideklarasikan. Dan hanya untuk mereka. Tingkat akses ini terkadang disebut akses ' paket-pribadi ', karena akses ke variabel dan metode terbuka untuk seluruh paket yang berisi kelasnya.

Berikut adalah tabel yang merangkum apa yang telah kita diskusikan:"

Pengubah Akses dari…
Kelas sendiri Paket sendiri Kelas apa saja
pribadi Ya TIDAK TIDAK
Tidak ada pengubah ( package-private ) Ya Ya TIDAK
publik Ya Ya Ya