Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Instanciando objetos Classe x Construtor da classe

Ola pessoal,

Tenho uma classe utilizada para login de usuarios na web para coloca-los na sessão.

Minha duvida é: Devo instanciar o objeto fora do construtor ou dentro dele? Existe alguma diferença?

Exemplo:

public class LoginBean implements Serializable {

private static final long serialVersionUID = 1L;

public static Integer idUsuarioLogado;
private int id;
private String login;    
private String nome;
private String senha;

LoginBean loginUsuario = new LoginBean();

public String logarNoSistema() throws SQLException {
    String sql = "SELECT * FROM Investidor where login=? and senha=?";

ou

public class LoginBean implements Serializable {

private static final long serialVersionUID = 1L;

public static Integer idUsuarioLogado;
private int id;
private String login;    
private String nome;
private String senha;

LoginBean loginUsuario;

public LoginBean() {
    loginUsuario  = new LoginBean();
}

public String logarNoSistema() throws SQLException {
    String sql = "SELECT * FROM Investidor where login=? and senha=?";

1 resposta

Fala John, tudo bem?

Ótima pergunta.

Quando criamos uma classe, a ideia da orientação a objetos é que controlemos o que precisa fazer parte do estado inicial da mesma. Fornecer seu próprio construtor para especificar a inicialização personalizada dos objetos de sua classe obriga a quem for chamar sua classe a fornecer os atributos que o construtor espera, caso contrário, não será possível criar um objeto dessa classe, correto?

Imagina que você tem uma classe SaldoConta, parece fazer sentido sempre ter um valor para a mesma, sendo assim, só será possível criar um objeto assim: new SaldoConta(100);

Mas não tem certo ou errado, é uma decisão arquitetural, tem que analisar cada caso mesmo

Espero ter ajudado,

Abraço!