Sobes.tech
Middle

Kas ir vietējā klase un kādas ir tās īpašības?

sobes.tech AI

Atbilde no AI

Lokālā klase ir klase, kas definēta iekšā blokā, piemēram, metodes, konstrukcijas vai inicializētāja iekšpusē.

Lokālo klases īpašības:

  • Piekļuves apgabals: Pieejama tikai tajā blokā, kurā tā ir definēta.
  • Nav statiska: To nevar deklarēt kā static.
  • Piekļuve vietējiem mainīgajiem: Var piekļūt vietējiem mainīgajiem un parametriem, kas ir final vai efektīvi final.
  • Nav pieejas modifikatori: public, private, protected nav atļauti.
  • Manto no klasēm un realizē interfeisus: Var paplašināt citas klases un realizēt interfeisus.
  • Nosaukums: Nevar saturēt strictfp modifikatoru un nevar tikt deklarēta kā enum.

Piemērs:

class Outer {
    void myMethod() {
        int localVar = 10; // efektīvi final

        class LocalClass {
            void display() {
                System.out.println("Vietējā mainīgā: " + localVar);
            }
        }

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

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