public class Carro{
private int ano;
private String modelo;
private double preco;
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;
}
}
//Novo construtor AQUI!
public Carro(String modelo, double preco){
this(2017, modelo, preco);
}
//getters e setters omitidos
}
Sobre o código acima, eu não estou conseguindo identificar a função desse this(), não entendi porque ele passa 3 argumentos, se no construtor só tem 2, o que exatamente ele faz?
Java OO: entendendo a Orientação a Objetos Java OO, tópico 7: entendendo a Orientação a Objetos Para saber mais: reaproveitamento entre construtores.