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.
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.
Java ha establecido una serie de características que cada método constructor debe cumplir para funcionar de manera adecuada:
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
}
}
Java tiene dos tipos de constructores:
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.
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.