Apa yang terjadi ketika anggota di dalam class
dinyatakan sebagai static
..? Anggota itu dapat diakses tanpa membuat instance class
. Karena itu membuat kelas luar (kelas tingkat atas) static
tidak ada artinya. Karena itu tidak diperbolehkan.
Tetapi Anda dapat mengatur kelas dalam sebagai statis (Karena itu adalah anggota kelas tingkat atas). Kemudian kelas itu dapat diakses tanpa membuat kelas tingkat atas. Perhatikan contoh berikut.
public class A {
public static class B {
}
}
Sekarang, di dalam kelas yang berbeda C
, kelas B
dapat diakses tanpa membuat turunan kelas A
.
public class C {
A.B ab = new A.B();
}
static
kelas dapat memiliki non-static
anggota juga. Hanya kelas yang statis.
Tetapi jika static
kata kunci dihapus dari kelas B
, itu tidak dapat diakses secara langsung tanpa membuat instance dari A
.
public class C {
A a = new A();
A.B ab = a. new B();
}
Tetapi kita tidak dapat memiliki static
anggota di non-static
dalam kelas batin.