Constructores en Java

Un constructor es el código que se ejecuta cuando instancias una clase.

Aunque en un principio pueda parecer lo contrario, un constructor NO es un método. Un constructor es un elemento de una clase cuyo identificador coincide con el de la propia clase.

¿Para qué sirve un constructor?

Su finalidad es controlar cómo se inicializa una instancia de una determinada clase. Habitualmente, dan valor a las variables miembro de una clase. A diferencia de los métodos, los constructores sólo se ejecutan cuando se quiere crear una nueva instancia.

public class Main {
	public static void main(String[] args) {
		new Persona("Pepe");
	}
}

class Persona{
	String nombre;
	public Persona(String nombre){
		this.nombre = nombre;
	}
}

Si no sé cuales son los parámetros que tengo que poner, puedo ponerme sobre el paréntesis de los parámetros y pulsar ctrl + space

Constructor vacío

Generar constructor automáticamente:
Btn dch → Source → Generate Constructor using Fields

public class Main {
	public static void main(String[] args) {
		new MiClase();
	}
}
class MiClase{
	public MiClase(){
		System.out.println("Hola!!!");
	}
}

Output:
Hola!!!

Constructor con parámetros

public class Main {
	public static void main(String[] args) {
		new Persona("Pepe");
		//La siguiente línea genera un error en tiempo de compilación
		// new Persona();
	}
}

class Persona{
	public Persona(String nombre){
		System.out.println("Hola" + nombre);
	}
}

Ejercicio: Constructor y variable static

Crear una clase persona con una propiedad estática llamada numPersonas y una propiedad no estática llamada edad. En el constructor de la clase Persona debemos incrementar tanto la variable estática como la no estática.

Crear una clase Main con un método public static void main que creará 4 personas. A continuación, imprimir el valor de la variable estática de la clase y el valor de las variables no estáticas de cada una de las instancias.

Ver preguntas

← Modificadores de acceso en Java
Herencia en Java →

Aviso Legal | Política de privacidad