¿Qué son los constructores en Java y cómo se utilizan?

Icono play
Java
Constructores

En Java, cada vez que se va a crear un objeto de cualquier clase particular, es necesario invocar al método constructor para que este inicialice las variables de la nueva instancia. 

Si bien este elemento de la programación en Java es conocido como un método, no funciona exactamente como estos, sino que tiene un comportamiento un tanto diferente.

Aunque este lenguaje genera un método constructor por defecto para cada clase, es importante conocer cómo hacer un constructor y cómo funciona para usar este recurso cuando se está codificando un proyecto.

¿Qué es un constructor en Java?

Un método constructor en Java es un método especial que se invoca cada vez que se genera un objeto de la clase a la que él pertenece. Dependiendo de las necesidades que tenga el proyecto, una clase puede tener uno o varios constructores.

Esto le permitirá, al desarrollador, darle valores iniciales a los atributos que tiene ese objeto y manejar estos según sea conveniente para la lógica del código que está escribiendo.

Características de un constructor en Java

Java ha establecido una serie de características que cada método constructor debe cumplir para funcionar de manera adecuada:

  • Debe tener el mismo nombre de la clase a la que pertenece.
  • Se declaran como públicos para que puedan ser invocados desde fuera de la clase, aunque no se utiliza la palabra reservada void en la sintaxis. 
  • Generalmente, es el primer bloque de código que se construye cuando se está haciendo una clase.
  • Pueden tener parámetros o no, depende del proyecto en desarrollo.  
  • Solo se ejecuta cuando es invocado para crear una instancia de un objeto.

¿Cómo funciona un constructor en Java?

La mejor manera de ver cómo funciona un constructor en Java es revisando un ejemplo: 

class Vehiculo {
    // atributos
    String marca;
    int numruedas;

    // métodos

    // método constructor (no se usa la palabra void, pese a que un constructor no devuelve ningún valor) 
    public Vehiculo(String marca, int numruedas) {
        this.marca = marca;
        this.numruedas = numruedas;
    }

    // método para mostrar los atributos del objeto creado
    public void mostrarVehiculo() {
        System.out.println("El carro es marca: " + marca);
        System.out.println("El carro tiene: " + numruedas + " ruedas");
    }
}

public class Main {

    public static void main(String[] args) {
        Vehiculo Carro1 = new Vehiculo("Ford", 4); //creamos objeto invocando al constructor con la palabra reservasa new y le pasamos los atributos

        Carro1.mostrarVehiculo(); //invocamos el método que mostrará los atributos del objeto creado
    }
}

Tipos de constructores en Java

Java tiene dos tipos de constructores:

Constructores por defecto

Se trata del constructor que asume el compilador por defecto, en caso de que la persona que esté codificando no declare de manera explícita al constructor, tal como se describe en los apartados anteriores. 

Como no se han inicializado los atributos, estos toman los valores predeterminados dependiendo del tipo de dato que se haya declarado. 

Constructores con parámetros

Es lo que se hace cuando se le quiere dar valores específicos a los atributos de un objeto creado. Se debe codificar cuidadosamente el método constructor, respetando las características que establece Java para que funcione correctamente.

El uso de constructores es imprescindible para trabajar con el paradigma de programación orientada a objetos (POO), por lo tanto, es recomendable dedicar tiempo a comprender su funcionamiento y practicar la manera correcta de codificarlos.

¿Todavía no te has apuntado a nuestro Bootcamp?
Tenemos muchos cursos para ofrecerte y ¡TOTALMENTE GRATIS! Estos son algunos de ellos: