Otras lecciones del Curso de Java
¿Qué es IO en Java?
¿Cúales son los Operadores en Java?
¿Qué tipos de Variables hay en Java?
¿Cómo funciona Continue y Break en Java?
¿Cómo aplicar un Try Catch y Finally en Java?
¿Cómo utilizar el método super en Java?
¿Cómo trabajar con listas en Java?
¿Cuáles son los métodos de la clase String en Java?
¿Qué es un entorno de desarrollo en Java?
¿Qué es la Sobreescritura de métodos en Java?
¿Cómo utilizar un return en Java?
¿Cómo hacer un Hola Mundo en Java?
¿Cómo utilizar Throw y throws en Java?
¿Cómo hacer comentarios en Java?
¿Cuáles son las Palabras reservadas en Java?
Variables de entorno en Java
Características y estadísticas de Java e índice TIOBE
Estructura de proyecto, paquetes y clases en Java
Qué es una función en Java
¿Cómo funcionan las Funciones Java?
Operadores aritméticos en Java
Operadores de comparación en Java
Funciones anónimas en Java
Cómo invocar una función en Java
Atajos de teclado para IntelliJ
¿Qué es la Sobrecarga de funciones en Java?
Operadores lógicos en Java
Debug en Java
Como se crea una función en Java
¿Cómo crear Sentencias Switch en Java?
Bucles for en Java
¿Cómo hacer sentencias If e If else en Java?
¿Cómo funcionan los Bucles While en Java?
¿Qué son los objetos en Java?
¿Qué es el modificador static en Java y cómo se utiliza?
¿Qué es la herencia en Java?
¿Cómo crear clases en Java?
¿Qué es el Polimorfismo en Java?
¿Qué son las Clases Abstractas en Java?
¿Qué es la Programación genérica en Java?
¿Qué son las Interfaces de Java?
Implementación de una interface en Java
¿Cómo se hace refactoring en Java?
¿Cómo trabajar con Maps en Java?
¿Como funcionan los arrays en Java?
¿Cómo generar excepciones en Java?
¿Qué es la clase Scanner en Java?
Introducción a Swing en Java
¿Quieres descubrir más cosas como Constructores en Java?¡Apuntate a nuestro campus y empieza a aprender con nosotros y con toda la comunidad!

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: