
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 :
[code language=”java”]
public class Outer {
public class Inner {
}
}
[/code]
Berikut cara membuat suatu instance dari inner class ”
[code language=”java”]
Outer outer = new Outer();
Outer.Inner inner = outer.new Inner();
[/code]
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 :
[code language=”java”]
public class Outer {
private String text = "I am private!";
public class Inner {
public void printText() {
System.out.println(text);
}
}
}
[/code]
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() :
[code language=”java”]
Outer outer = new Outer();
Outer.Inner inner = outer.new Inner();
inner.printText();
[/code]
Leave a Reply