Junior
Ce înseamnă cuvântul cheie 'static' în Java?
sobes.tech AI
Răspuns de la AI
static în Java este utilizat pentru a declara elemente care aparțin clasei, nu unei instanțe specifice a obiectului.
Cuvântul cheie poate fi aplicat la:
- Variabile (câmpuri):
- O copie a variabilei există pentru întreaga clasă, indiferent de numărul de instanțe create.
- Se poate accesa prin numele clasei (de exemplu,
ClassName.staticVariable).
// Exemplu de variabilă statică public class MyMath { public static final double PI = 3.14159; // Acces: MyMath.PI } - Metode:
- Metoda aparține clasei, nu unui obiect specific.
- Poate fi apelată prin numele clasei (de exemplu,
ClassName.staticMethod()). - Nu are acces la membrii non-statice ai clasei (variabile sau metode), deoarece sunt legați de instanță.
// Exemplu de metodă statică public class Calculator { public static int add(int a, int b) { return a + b; } // Apel: Calculator.add(5, 3) } - Blocuri de inițializare:
- Se execută o dată la încărcarea clasei în JVM.
- Se folosește pentru inițializarea câmpurilor statice sau pentru executarea altor acțiuni legate de clasă.
// Exemplu de bloc static public class DataInitializer { static { // Cod executat la încărcarea clasei System.out.println("DataInitializer class loaded."); } } - Clase interne (inner/nested classes):
- Clasa internă statică se comportă ca o clasă de nivel superior, cu excepția faptului că se află în interiorul altei clase.
- Nu necesită crearea unei instanțe a clasei externe pentru a avea acces la ea.
- Are acces doar la membrii statici ai clasei externe.
// Exemplu de clasă internă statică public class OuterClass { static class StaticInnerClass { // Câmpuri și metode ale clasei interne statice } } // Acces: OuterClass.StaticInnerClass inner = new OuterClass.StaticInnerClass();
Utilizarea static ajută la crearea de clase utilitare, stocarea datelor comune și gestionarea stării la nivel de clasă.