Con respecto a este código ejemplo de la clase 6:
public class Carro{
private int ano;
private String modelo;
private double precio;
public Carro(int ano, String modelo, double precio){
if(ano >= 1891){
this.ano = ano;
}else{
System.out.println("El año informado no es válido. Por eso usaremos 2017!");
this.ano = 2017;
}
if( modelo != null){
this.modelo = modelo;
}else{
System.out.println("El modelo no fue informado. Por eso usaremos Gol!");
this.modelo = "Gol";
}
if(precio > 0){
this.precio = precio;
}else{
System.out.println("EL precio no es válido. Por eso usaremos 40000.0!");
this.precio = 40000.0;
}
}
//Nuevo constructor AQUI!
public Carro(String modelo, double precio){
this(2017, modelo, precio);
}
//getters e setters omitidos
}
Es correcto decir que, de alguna manera están anidados esos métodos constructores y que cuando se instancia un objeto de la clase carro siempre se pasa por ambos constructores, o, ¿solo por uno de los dos? Y si es así, ¿como saber que método constructor se ejecuto?. ¿Esa decisión es basada simplemente por el numero de parámetros que se pasan en la instancia del método?
Y en la parte:
this(2017, modelo, precio);
¿Solo se esta apuntando al metodo anterior para obtener los parametros restantes o se apunta a otra cosa ?