Variabel kelas (class variabel) adalah variabel yang dideklarasikan di dalam kelas dan bertidak sebagai data field, sedangkan Variabel yang dideklarasikan di dalam metoda disebut dengan variabel lokal (local variable). Cakupan variabel lokal dimulai dari posisi variabel tersebut dideklarasikan sampai dengan akhir dari blok metoda yang ditandai dengan closing brace. Cakupan dari variabel kelas meliputi keseluruhan kelas. Variabel dan metoda kelas dapat dideklarasikan dengan urutan apapun. Apabila ada variabel kelas, misalnya a, yang nilai perhitungannya tergantung pada variabel kelas lain, misalnya b, maka variabel kelas b tersebut harus dideklarasikan mendahului variabel kelas a.

Anda dapat mendeklarasikan variabel lokal dengan nama sama asalkan variabel lokal tersebut berada di dalam metoda yang berbeda. Anda tentu perlu menghindari pemberian nama yang sama antara veriabel kelas dan variabel lokal sebuah metoda. Apabila variabel kelas dan variabel lokal dideklarasikan dengan nama sama, maka variabel kelas akan menjadi tersembunyi (hidden class variabel). Variabel lokal mengambil hak lebih tinggi (precedence) daripada variabel kelas. Misalnya, sebuh kelas mendeklarasikan variabel kelas x dengan nilai 5 dan sebuah metoda di kelas tersebut juga mendeklarasikan variabel lokal x dengan nilai 2, maka pernyataan System.out.println (“x = “ + x); yang berada di dalam metoda tersebut akan menampilkan nilai 2, bukan nilai 5. Berikut ini adalah contoh kode program kelas TestABC yang dapat memberikan gambaran lebih jelas tentang variabel kelas tersembunyi:

// Nama file : TestABC.java
// Memahami variabel kelas dan variabel lokal

// Deklarasi kelas
public class TestABC {
 
   // Metoda main
   public static void main(String[] args) {
 
      ABC objek1 = new ABC();
      objek1.cetakNilaiVariabel();
   
   }
}

// Mendefinisikan kelas ABC
class ABC {
   
   // Deklarasi data field
   int a = 7;
   int b = 4;
   int c = 8;

   // Deklarasi metoda
   void cetakNilaiVariabel() {
   
      // Deklarasi variabel lokal
      int c = 3;
      System.out.println("\nMencetak Nilai variabel.");
      System.out.println("Nilai variabel a = " + a);
      System.out.println("Nilai variabel b = " + b);
      System.out.println("Nilai variabel c = " + c);

   }
}

Baris nomor 20 – 22 adalah deklarasi variabel kelas (data field) a, b dan c masing masing dengan nilai 7, 4 dan 8. Di dalam metoda cetakNilaiVariabel (baris nomor 25 – 34), juga dideklarasikan variabel lokal c dengan nilai 3 (baris nomor 28). Karena variabel lokal c mengambil hak lebih tinggi dari pada veriabel kelas c, maka saat pernyataan untuk mencetak nilai c (baris nomor 32) dieksekusi, nilai yang tersimpan di variabel lokal c yang dicetak.

Konsep variabel kelas tersembunyi di java

Baca artikel terkait lainnya: