Keď je premenná deklarovaná ako
statické, potom sa vytvorí jedna kópia premennej a zdieľa sa medzi všetkými objektmi na úrovni triedy. Statické premenné sú v podstate globálne premenné. Všetky inštancie triedy zdieľajú rovnakú statickú premennú.
Dôležité body pre statické premenné:
- Statické premenné môžeme vytvárať iba na úrovni triedy. Pozri tu
- statický blok a statické premenné sa vykonávajú v poradí, v akom sa nachádzajú v programe.
- Statická premenná môže volať priamo iba pomocou triedy, v tomto nemusíme vytvárať objekt pre triedu.
Nižšie je uvedený java program, ktorý demonštruje, že statické bloky a statické premenné sú vykonávané v poradí, v akom sú prítomné v programe.
Java // Java program to demonstrate execution // of static blocks and variables class Test { // static variable static int a = m1(); // static block static { System.out.println("Inside static block"); } // static method static int m1() { System.out.println("from m1"); return 20; } // static method(main !!) public static void main(String[] args) { System.out.println("Value of a : " + a); System.out.println("from main"); } }> Výkon
from m1 Inside static block Value of a : 20 from main>