Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

Creacion de varios constructores

Buena noche, quisiera saber como hace Java para saber que constructor usar. Es que vi el ejemplo de la creacion de 2 constructores en el concesionario pero quede un poco perdido, no se si es por el hecho que mire que atributos estan entrando y asi decida. Gracias

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

}
1 respuesta
solución!

Hola Nicolás, espero que estés bien.

El método constructordetermina qué acciones deben realizarse al crear un objeto. Entonces, el constructor que utilice dependerá de

las acciones previstas.

Vale la pena recordar que el constructor es invocado únicamente en el momento de la creación del objeto a través del operador new.

También puede recibir argumentos, como cualquier método. Y usando el mecanismo de sobrecarga, más de un constructor se puede

establecer para una clase. Además, cada clase tiene al menos un constructor definido siempre. Si ningún constructor está definido

explícitamente por programador de la clase, un constructor estándar, que no recibe argumentos, es incluido para la clase por el

compilador Java.

Sin embargo, si el programador de la clase crea al menos un método constructor, el constructor por defecto no será creado

automáticamente -- si el programador desea mantenerlo, debe crear un constructor sin argumentos explícitamente.

En el momento en que un constructor es invocado, la siguiente secuencia de acciones es ejecutada para la creación de un objeto:

  1. El espacio para el objeto se asigna y su contenido se inicializa (bitwise) con ceros;
  2. Se invoca el constructor de la clase base. Si la clase no tiene una superclase definida explícitamente, la clase Object es la clase base;
  3. Los miembros de la clase son inicializados para el objeto, siguiendo el orden en que fueron declarados en la clase;
  4. El resto del cuerpo do construtor es ejecutado.

Espero haber ayudado, pero si la duda persiste, podemos discutir más este contenido. =)

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios.