Un Constructor en Java es un método especial, ya que este cuenta con ciertas características:
– Deben de tener el mismo nombre de la clase.
– Al igual que los métodos reciben parámetros pero no retornan ningún valor.
– Con lo anterior, no se puede especificar que sea de ningún tipo (void, String, Int, Float, Double, boolean, etc.)
– Por lo general se declaran de tipo public.
– Si el programador no incluye un constructor, el compilador de Java le asigna uno por default.
– Si no existe un constructor, los valores iniciales de las variables de la clase se inicializan con su valor por defecto.
Con este ultimo punto se puede decir que una de las ventajas de este concepto es la asignación de valores a los atributos de la clase que se instancia. Supongamos que tenemos dos clases, la principal, y otra que contendrá dos constructores para dar la idea de ellos:
CLASE PRINCIPAL
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import javax.swing.JOptionPane; public class MainConstr { //incio clase principal public static void main(String[] args) { pruebaConstructor objeto = new pruebaConstructor();//instancia de objeto sin parametros en constructor pruebaConstructor objeto1 = new pruebaConstructor("jagonzalez.org");//instacia de objeto con parametros en constructor JOptionPane.showMessageDialog(null, "Objeto 1: "+objeto.getString()+"n" +"Objeto 2: "+objeto1.getString()); System.exit(0);//linea para finalizar el programa } }//fin clase principal |
import javax.swing.JOptionPane; public class MainConstr { //incio clase principal public static void main(String[] args) { pruebaConstructor objeto = new pruebaConstructor();//instancia de objeto sin parametros en constructor pruebaConstructor objeto1 = new pruebaConstructor("jagonzalez.org");//instacia de objeto con parametros en constructor JOptionPane.showMessageDialog(null, "Objeto 1: "+objeto.getString()+"n" +"Objeto 2: "+objeto1.getString()); System.exit(0);//linea para finalizar el programa } }//fin clase principal
CLASE CON CONSTRUCTOR
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | public class pruebaConstructor {//clase de prueba para el constructor private String string; public pruebaConstructor(){//constructor sin parametros string = "Asignacion en constructor"; } public pruebaConstructor(String a) { //constructor con parametros string = a; } public String getString() {//retorno del valor del objeto return string; } } |
public class pruebaConstructor {//clase de prueba para el constructor private String string; public pruebaConstructor(){//constructor sin parametros string = "Asignacion en constructor"; } public pruebaConstructor(String a) { //constructor con parametros string = a; } public String getString() {//retorno del valor del objeto return string; } }
Una vez corra el anterior ejemplo veremos lo siguiente:
El anterior ejemplo es algo sumamente básico, mas sin embargo esto es necesario cuando creamos objetos, mas adelante veremos como se esto en la creación de objetos de la GUI?, ya que con esto podemos crear objetos con ciertas características.