Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Acesso de variáveis static

Segue o contexto:

class Pessoa {
    static int id = 1;
}

class Teste {
    public static void main(String[] args) {
        Pessoa p = new Pessoa();
        System.out.println(p.id); // acessando pelo objeto
        System.out.println(Pessoa.id); // acessando direto pela
                                       // classe
    }
}

No caso de variáveis static, não precisamos ter uma referência para usá-las e podemos acessá-las diretamente a partir da classe, desde que respeitando as regras de visibilidade da variável.

A dívida é: 1) Qual é a melhor prática esse caso ? declarar o objeto e instanciar ? ou acessar diretamente ?

2) Há alguma diferença no desempenho e processamento ?

1 resposta
solução!

A variável static armazena "informação" que pode ser acessada por qualquer objeto da classe ou diretamente sem instanciar um objeto. Deve ser utilizada para guardar valor que é compartilhado por todos os objetos. Um exemplo é a quantidade de instâncias do objeto. Cada vez que um objeto é criado o valor da variável estática pode ser incrementado em uma unidade. Quando um objeto é destruído o valor pode ser decrementado. Acessar diretamente ou instanciar depende do objetivo. Posso ver o valor quando instanciar o objeto, ou acessar diretamente pela classe para recuperar a informação atual. Não há diferença na questão de desempenho e processamento.