Variável estática privada em Java

Aryan Tyagi 12 outubro 2023
Variável estática privada em Java

Variáveis ​​de classe, comumente conhecidas como variáveis ​​estáticas, são definidas usando a palavra-chave static em uma classe, mas fora de um método, construtor (padrão ou parametrizado) ou bloco.

Variáveis ​​estáticas privadas são freqüentemente utilizadas para constantes. Por exemplo, muitos indivíduos preferem não usar constantes em seu código. Em vez disso, eles preferem criar uma variável estática privada com um nome significativo e utilizá-la em seu código, tornando o código mais compreensível.

Se uma variável for declarada estática, o valor da variável é o mesmo para todas as instâncias e não precisamos criar um objeto para chamar essa variável.

Uma variável declarada como private static pode ser facilmente acessada, mas apenas de dentro da classe em que está definida e declarada. É porque a variável é declarada privada e as variáveis ​​privadas não são acessíveis fora da classe. Dentro da classe, eles podem ser acessados ​​usando ClassName.Variable_name.

Por exemplo,

public class Demo {
  private static int a = 10;

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

Produção:

10

No exemplo acima, criamos uma variável privada estática e imprimimos seu valor.

Vamos entender um exemplo para ver a diferença entre uma variável estática privada e uma 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();
  }
}

Produção:

14
3

O objeto PersonB muda a variável eye no exemplo acima, mas a variável leg permanece a mesma. Isso ocorre porque uma variável privada se copia para o método, preservando seu valor original. Mas um valor estático privado tem apenas uma cópia para todos os métodos compartilharem, portanto, alterar seu valor altera o valor original.

Artigo relacionado - Java Class