Contoh Inner Class (Java)

Apa itu kelas di dalam kelas (Inner Class) ???

Inner class dapat mengakses data dan method dari kelas yang berada di bagian luarnya, meskipun data dan method tersebut bersifat private. Sebagai contoh, apabila kelas B didefinisikan di dalam kelas A, maka kelas B dapat mengakses semua data dan method yang terdapat pada kelas A. Sebaliknya, bagian private dari kelas B tetap tidak dapat diakses oleh A.

Contoh Program Inner Class:

class Luar {   
  private int a;
   
  public void setA(int nilai) {
    a = nilai;
  }
   
  public int getA() {
    return a;
  }
   
  // Mendefinisikan inner class
  class Dalam {
    private int x = 10;  // hanya dikenali oleh kelas Dalam
     
    public void showData() {
      System.out.println("Nilai a dari kelas Luar  : " + a);
      System.out.println("Nilai x dari kelas Dalam : " + x);
    }
  }
   
  public void showData() {
  // Baris di bawah ini SALAH, karena x tidak dikenal di sini
  //System.out.println("Nilai x dari kelas Dalam : " + x);
      
    Luar.Dalam obj = new Luar.Dalam();
    obj.showData();
  } 
}

class DemoInnerClass {  
  public static void main(String[] args) {
    
    Luar obj1  = new Luar();
    //Dalam obj2 = new Dalam();  // SALAH
    
    obj1.setA(5);
    obj1.showData();    
  }  
} 

No comments:
Write komentar