Junior — Middle
162
Aké typy vnorených tried poznáte v programovaní?
Odpoveď od AI
sobes.tech AI
V Jave existujú nasledujúce typy vnorených tried:
-
Statická vnorená trieda (static nested class)
- Deklaruje sa s modifikátorom
staticvnútri inej triedy. - Nemá priamy prístup k nestatickým členom vonkajšej triedy.
- Používa sa ako bežná vonkajšia trieda, ale je logicky spojená s vonkajšou triedou.
- Deklaruje sa s modifikátorom
-
Vnorená trieda (inner class)
- Nie je statická vnorená trieda.
- Má prístup ku všetkým členom vonkajšej triedy, vrátane súkromných.
- Vytvára sa v kontexte inštancie vonkajšej triedy.
-
Lokálna trieda (local class)
- Deklaruje sa v rámci metódy alebo bloku kódu.
- Je viditeľná iba v rámci tejto metódy.
- Môže používať lokálne premenné metódy, ak sú final alebo efektívne final.
-
Anonymná trieda (anonymous class)
- Nemá meno.
- Deklaruje sa a vytvára súčasne.
- Zvyčajne sa používa na implementáciu rozhraní alebo dedičstvo tried pre jednorazové použitie.
Príklad statickej vnorenej triedy:
class Outer {
static class StaticNested {
void display() {
System.out.println("Statická vnorená trieda");
}
}
}
Outer.StaticNested nested = new Outer.StaticNested();
nested.display();
Príklad vnútornej triedy:
class Outer {
class Inner {
void display() {
System.out.println("Vnorená trieda");
}
}
}
Outer outer = new Outer();
Outer.Inner inner = outer.new Inner();
inner.display();
Každý typ vnorenej triedy sa používa v závislosti od úlohy a potreby prístupu k členom vonkajšej triedy.