Sobes.tech
Junior

Ko nozīmē atslēgvārds 'static' Java?

sobes.tech AI

Atbilde no AI

static Java tiek izmanto, lai deklarētu elementus, kas pieder klasei, nevis konkrētam objekta eksemplāram.

Aizsargājošā vārda var piemērot:

  • Mainīgajiem (laukiem):
    • Viena kopija mainīgā pastāv visai klasei, neatkarīgi no izveidoto eksemplāru skaita.
    • Pieejama caur klases nosaukumu (piemēram, ClassName.staticVariable).
    // Statiskā mainīgā piemērs
    public class MyMath {
        public static final double PI = 3.14159;
        // Pieejams: MyMath.PI
    }
    
  • Metodēm:
    • Metode pieder klasei, nevis konkrētam objektam.
    • To var izsaukt caur klases nosaukumu (piemēram, ClassName.staticMethod()).
    • Tam nav pieejas pie nestatiskajiem klases locekļiem (mainīgajiem vai metodēm), jo tie ir saistīti ar eksemplāru.
    // Statiskās metodes piemērs
    public class Calculator {
        public static int add(int a, int b) {
            return a + b;
        }
        // Izsaukums: Calculator.add(5, 3)
    }
    
  • Iniciēšanas blokiem:
    • Tiek izpildīts vienu reizi, ielādējot klasi JVM.
    • Izmanto statisko lauku inicializācijai vai citu ar klasi saistītu darbību veikšanai.
    // Statiskā bloka piemērs
    public class DataInitializer {
        static {
            // Kods, kas tiek izpildīts, ielādējot klasi
            System.out.println("DataInitializer klase ielādēta.");
        }
    }
    
  • Iekšējās/nestētās klases:
    • Statiskā iekšējā klase darbojas kā parasta augstākā līmeņa klase, izņemot to, ka tā atrodas citas klases iekšpusē.
    • Nav nepieciešams izveidot ārējās klases eksemplāru, lai piekļūtu tai.
    • Tam ir piekļuve tikai ārējās klases statiskajiem locekļiem.
    // Statiskās iekšējās klases piemērs
    public class OuterClass {
        static class StaticInnerClass {
            // Statiskās iekšējās klases lauki un metodes
        }
    }
    // Pieeja: OuterClass.StaticInnerClass inner = new OuterClass.StaticInnerClass();
    

static izmantošana palīdz izveidot utilitāras klases, glabāt kopīgus datus un pārvaldīt stāvokli klases līmenī.