Variable estática privada en Java

Aryan Tyagi 12 octubre 2023
Variable estática privada en Java

Las variables de clase, comúnmente conocidas como variables estáticas, se definen usando la palabra clave static en una clase pero fuera de un método, constructor (predeterminado o parametrizado) o bloque.

Las variables estáticas privadas se utilizan con frecuencia para constantes. Por ejemplo, muchas personas prefieren no utilizar constantes en su código. En cambio, prefieren crear una variable estática privada con un nombre significativo y utilizarla en su código, haciendo que el código sea más comprensible.

Si una variable se declara estática, entonces el valor de la variable es el mismo para todas las instancias y no es necesario crear un objeto para llamar a esa variable.

Se puede acceder fácilmente a una variable declarada estática privada, pero solo desde el interior de la clase en la que está definida y declarada. Es porque la variable se declara privada y las variables privadas no son accesibles fuera de la clase. Dentro de la clase, se puede acceder mediante ClassName.Variable_name.

Por ejemplo,

public class Demo {
  private static int a = 10;

  public static void main(String[] args) {
    System.out.println(Demo.a); // className.variable_name
  }
}

Producción :

10

En el ejemplo anterior, creamos una variable privada estática e imprimimos su valor.

Entendamos un ejemplo para ver la diferencia entre una variable estática privada y una privada.

public class test {
  private static int eye = 2;
  private int leg = 3;

  public test(int eyes, int legs) {
    eye = eyes;
    leg = leg;
  }

  public test() {}

  public void print() {
    System.out.println(eye);
    System.out.println(leg);
  }

  public static void main(String[] args) {
    test PersonB = new test(14, 8);
    PersonB.print();
  }
}

Producción :

14
3

El objeto PersonB cambia la variable eye en el ejemplo anterior, pero la variable leg permanece igual. Esto se debe a que una variable privada se copia a sí misma en el método, conservando su valor original. Pero un valor estático privado solo tiene una copia para que todos los métodos la compartan, por lo que cambiar su valor cambia el valor original.

Artículo relacionado - Java Class