Cuando una variable se declara como estática , se crea una sola copia de la variable y se comparte entre todos los objetos en el nivel de clase. Las variables estáticas son, esencialmente, variables globales. Todas las instancias de la clase comparten la misma variable estática.
Puntos importantes para las variables estáticas:
- Podemos crear variables estáticas solo a nivel de clase. Ver aquí
- El bloque estático y las variables estáticas se ejecutan en el orden en que están presentes en un programa.
A continuación se muestra el programa java para demostrar que el bloque estático y las variables estáticas se ejecutan en el orden en que están presentes en un programa.
// 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"); } }
Producción:
from m1 Inside static block Value of a : 20 from main