Apa yang terjadi ketika anggota di dalam classdinyatakan sebagai static..? Anggota itu dapat diakses tanpa membuat instance class. Karena itu membuat kelas luar (kelas tingkat atas) statictidak 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 Bdapat diakses tanpa membuat turunan kelas A.
public class C {
A.B ab = new A.B();
}
statickelas dapat memiliki non-staticanggota juga. Hanya kelas yang statis.
Tetapi jika statickata 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 staticanggota di non-staticdalam kelas batin.