Oleh : Reza Ervani
بسم الله الرحمن الرحيم
Class-class nested non statik juga disebut sebagai class-class inner. Inner class dihubungkan dengan suatu instance yang menaungi class. Jadi, pertama-tama kita mesti membuat suatu instance yang merupakan class penaungnya untuk kemudian membuat suatu instance yang merupakan inner class. Berikut contohnya :
public class Outer { public class Inner { } }
Berikut cara membuat suatu instance dari inner class ”
Outer outer = new Outer(); Outer.Inner inner = outer.new Inner();
Perhatikan bagaimana kita meletakkan new setelah referensi ke outer class.
Class nested non static memiliki akses ke field milik class yang menaunginya. bahkan jika mereka dideklarasikan privat. Berikut contohnya :
public class Outer { private String text = "I am private!"; public class Inner { public void printText() { System.out.println(text); } } }
Perhatikan bagaimana metode prinText() pada inner class merujuk kepada text field private pada class penaungnya. Hal ini dapat dimungkinkan.
Berikut cara kita memanggil metode printText() :
Outer outer = new Outer(); Outer.Inner inner = outer.new Inner(); inner.printText();
Leave a Reply