Sobes.tech
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:

  1. Statická vnorená trieda (static nested class)

    • Deklaruje sa s modifikátorom static vnú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.
  2. 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.
  3. 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.
  4. 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.