Onde instanciar as variáveis de classe? [RESOLVIDO]

2 respostas Resolvido
java
ThiagoMuralha

Olá devs.

Já li alguns livros e artigos sobre programação e quase sempre, em exemplos de código vi que as variáveis de classe (mesmo que atributos de classe) são declarados na classe, mas instanciados no construtor. Pesquisei um pouco e não obtive respostas sobre o porque disto.

Ex:
public class Classe {
private String atributoDeClasse;

public Classe() {
    atributoDeClasse = "atributo";
}

}

Quem puder me explicar, fico grato.

2 Respostas

Sandro_Machado
Solucao aceita

Tudo vai depender do Escopo que você quer para aquela variável, você pode ter N variáveis declaradas,
mas também N construtores, e só instanciar dentro de cada construtor, as variáveis que precisa, sendo assim, não precisa instanciar variáveis que não vai utilizar na instância, poupando assim memória e tempo.

jonas.cant

Você pode também inicializar as variáveis na própria declaração. Por exemplo:

public class Classe {
    private String atributoDeClasse = "atributo";

    public Classe() {
    }
}

Creio que seja uma questão de contexto e necessidade. As vezes será pertinente inicializar no construtor e as vezes isso será indiferente. As vezes será obrigatório passar um valor por parâmetro para o construtor e as vezes não. Tudo depende.

Criado 3 de fevereiro de 2016
Ultima resposta 4 de fev. de 2016
Respostas 2
Participantes 3