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

Dúvidas sobre Construtores - This()

Olá mesmo depois de ver alguns tópicos aqui no fórum, ainda não sanei totalmente a minha dúvida:

//CONSTRUTOR 1
    public Carro(int ano, String modelo, double preco) {
        if (ano >= 1891) {
            this.ano = ano;
        } else {
            System.out.println("O ano informado está inválido. Por isso usaremos 2017!");
            this.ano = 2017;
        }

        if (modelo != null) {
            this.modelo = modelo;
        } else {
            System.out.println("O modelo não foi informado. Por isso usaremos Gol!");
            this.modelo = "Gol";
        }

        if (preco > 0) {
            this.preco = preco;
        } else {
            System.out.println("O preço não é válido. Por isso usaremos 40000.0!");
            this.preco = 40000.0;
        }

    }

//CONSTRUTOR 2
    public Carro(String modelo, double preco) {
        this(2017, modelo, preco);
    }

//CONSTRUTOR 3
    public Carro(double preco) {
        this(        )
    }

Digamos que eu quisesse criar um Construtor 3, agora somente exigindo a especificação do preço. Quando eu chamar this(), ele vai se referir ao Construtor 1 da minha classe (com int ano, String modelo, double preco) , ou ao último construtor criado antes do Construtor 3 (com String modelo, double preco )?

1 resposta
solução!

Oi Luis

No código que você enviou a linha abaixo já não vai compilar, pois não existe um construtor que receba esses três argumentos:

this(2017, modelo, preco);

Da mesma forma a linha abaixo também não vai compilar, pois não tem nenhum construtor declarado que não receba nenhum argumento:

this()