public class Arboles { public Arboles() { System.out.println("Un árbol genérico"); } public Arboles(String tipo) { System.out.println("Un árbol tipo " + tipo); } public Arboles(int altura) { System.out.println("Un árbol de " + altura + " metros"); } public Arboles(int altura,String tipo) { System.out.println("Un " + tipo + " de " + altura + " metros"); } public static void main(String args[]) { Arboles arbol1 = new Arboles(4); Arboles arbol2 = new Arboles("Roble"); Arboles arbol3 = new Arboles(); Arboles arbol4 = new Arboles(5,"Pino"); } } |
Como en todo programa Java , primeramente se define la Clase a través del vocablo class
.
Posteriormente son definidos 4 Constructores; nótese que cada uno recibe el mismo nombre de la Clase y posee distintos argumentos de entrada.
Dentro del método principal (main
) son generadas cuatro instancias de la Clase, como se puede observar, al ser generada la instancia a través del vocablo new
se pasa un parámetro, y es dependiendo de este parámetro que es llamado el Constructor correspondiente, el cual a su vez invoca la Clase System.out.println
que imprime a pantalla.
En los ejemplos anteriores del curso se pudo notar que no se hizo uso de Constructor alguno, y la razón es que el compilador lleva acabo esta definición de Constructor vacío detrás de los escenarios, sin embargo, existe una situación en la que es necesario definir un Constructor vacío y esta es cuando se hace uso de otros constructores.
Lo anterior significa que si el compilador observa un método con el mismo nombre de la clase con argumentos (Constructor), deberá existir un método vacío por el mismo nombre, esto de cierta manera salvaguarda a un programador al momento de definir métodos que no vayan a ser definidos erróneamente como Constructores.