Když je proměnná deklarována jako
statický, pak je vytvořena jediná kopie proměnné a sdílena mezi všemi objekty na úrovni třídy. Statické proměnné jsou v podstatě globální proměnné. Všechny instance třídy sdílejí stejnou statickou proměnnou.
Důležité body pro statické proměnné:
- Můžeme vytvářet statické proměnné pouze na úrovni třídy. Vidět tady
- statický blok a statické proměnné jsou vykonávány v pořadí, v jakém jsou přítomny v programu.
- Statická proměnná může volat pouze přímo pomocí třídy, v tomto nemusíme vytvářet objekt pro třídu.
Níže je java program, který demonstruje, že statický blok a statické proměnné jsou prováděny v pořadí, v jakém jsou přítomny v programu.
Jáva // 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ýstup
from m1 Inside static block Value of a : 20 from main>