Sobes.tech
Middle

Čo je to lokálna trieda a aké sú jej vlastnosti?

sobes.tech AI

Odpoveď od AI

Lokálna trieda je trieda definovaná v rámci bloku, napríklad metódy, konštruktora alebo inicializátora.

Vlastnosti lokálnych tried:

  • Rozsah: Je dostupná iba v bloku, v ktorom je definovaná.
  • Nie je statická: Nemôže byť deklarovaná ako static.
  • Prístup k lokálnym premenným: Môže odkazovať na lokálne premenné a parametre okolia, ktoré sú final alebo efektívne final.
  • Nemôže mať prístupové modifikátory: public, private, protected nie sú povolené.
  • Dedi z tried a implementuje rozhrania: Môže rozširovať iné triedy a implementovať rozhrania.
  • Názvoslovie: Nemôže obsahovať modifikátor strictfp a nemôže byť deklarovaná ako enum.

Príklad:

class Outer {
    void myMethod() {
        int localVar = 10; // efektívne final

        class LocalClass {
            void display() {
                System.out.println("Lokálna premenná: " + localVar);
            }
        }

        LocalClass local = new LocalClass();
        local.display();
    }

    public static void main(String[] args) {
        Outer outer = new Outer();
        outer.myMethod();
    }
}