Deo zbornika Učimo Javu
Unutrašnje klase u Javi
U Javi možete definirati unutarnju klasu (inner class). To je klasa definirana unutar druge klase koju zovemo glavnom klasom (top-level class).
Unutrašnje klase mogu imati svoje metode. Međutim, ne mogu imati statičke članove. Unutarnje klase koje se nalaze unutar dosega glavne klase mogu biti public
, private
, protected
, final
, abstract
.
Unutarnje klase mogu biti unutar metoda, petlji i ostalih blokova koda zatvorenih unutar vitičastih zagrada ({}
). Takve klase nisu članovi pa ne mogu biti deklarirane kao public
, private
, protected
, ili static
.
Unutarnja klasa ima pristup svim metodama i atributima gornje klase, čak i privatnim.
Primjer
Pogledajmo na primjeru kako radi unutrašnja klasa:
class Outer {
int num;
class Inner {
void print() {
System.out.println("Pozdrav iz unutarnje klase.");
}
}
void innerPrint() {
Inner inner = new Inner();
inner.print();
}
}
public class Proba {
public static void main(String args[]) {
Outer outer = new Outer();
outer.innerPrint();
}
}
Izvor: Elliotte Rusty Harold, Java Lecture Notes, preveo Draško Budin, priredio Damjan Pavlica.