Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Só podemos escrever um construtor por classe.

Oi, eu gostaria de um exemplo simples de uma classe com mais de um construtor.

2 respostas
solução!

Oi Antonio!

Vamos imaginar uma classe Endereco onde queremos dar a chance de na hora da criação, a chance de quem está usando, passar o nome da rua e o bairro:

public class Endereco {
    private String rua;
    private String bairro;

    public Endereco(String rua, String bairro) {
        this.rua = rua;
        this.bairro = bairro;
    }

    // getters e setters
}

Agora é só criar o objeto:

main(...) {
    Endereco ruaLegal = new Endereco("Rua Bacana", "Vila Mariana");
}

Se quisermos também dar a opção de ser passado só o nome da rua, porque por exemplo querermos assumir o bairro como "centro" por padrão, é só adicionar um novo construtor:

public class Endereco {
    private String rua;
    private String bairro;

    public Endereco(String rua, String bairro) {
        this.rua = rua;
        this.bairro = bairro;
    }

    public Endereco(String rua) {
        this.rua = rua;
        this.bairro = "Centro";
    }

    // getters e setters
}

Agora quem for criar os objetos pode usar um ou outro, caso a rua seja no centro:

main(...) {
    Endereco ruaLegal = new Endereco("Rua Bacana", "Vila Mariana");
    Endereco ruaCentro = new Endereco("Rua do Centro");
}

Nossa!!! Já fiz isso várias vezes, mas na teoria minha cabeça não ligou as coisas. Obrigado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software