Static Nested Class
- Static nested class adalah inner class dengan modifier static. [2]
- Static nested class sebenarnya bukan inner class, static nested class hanyalah top-level class yang di sarangkan di dalam class lain. [2]
- Karena static, maka untuk membuat instance dari static nested class tidak diperlukan instance dari outer classnya. [2] (tidak seperti regular inner class ataupun method-local inner class [1]).
Contoh : [1]
Program 15
|
class A {
static class B {
void lakukanSesuatu() {
System.out.println("Hallo");
}
}
}
public class StaticNestedClass {
public static void main(String[] args) {
A.B b = new A.B(); //cara instansiasi static nested class
b.lakukanSesuatu();
}
}
|
- Cara instansiasi static nested inner class adalah : [2]
NamaOuterClass.NamaStaticNestedClass varRef = new NamaOuterClass.NamaStaticNestedClass()
- Static nested class tidak dapat mengakses non-static member dari outer classnya. [2]
Contoh : [1]
Program 16
|
class A {
int i = 10;
static class B {
void lakukanSesuatu() {
System.out.println("i = " + i);
}
}
}
public class StaticNestedClass2 {
public static void main(String[] args) {
A.B b = new A.B();
b.lakukanSesuatu();
}
}
|