Capítulo 4
Trabajando con clases y objetos en Java

Constructores y creación de objetos

Una vez que se tiene definida la clase a partir de la cual se crearán los objetos se está en la posibilidad de instanciar los objetos requeridos.

Para la clase Usuario del ejemplo anterior podemos crear un objeto de la siguiente manera:

Usuario usr1;     //usr1 es una variable del tipo Usuario
usr1 = new Usuario();

La primera línea corresponde a la declaración del objeto, es decir, se declara una variable del tipo de objeto deseado.

La segunda línea corresponde a la iniciación del objeto.

  • El operador new

    El operador new crea una instancia de una clase asignando la cantidad de memoria necesaria de acuerdo al tipo de objeto. El operador new se utiliza en conjunto con un constructor. El operador new regresa una referencia a un nuevo objeto.

  • Constructores

    Un constructor es un tipo específico de método que siempre tiene el mismo nombre que la clase, y que se utiliza cuando se desean crear objetos de dicha clase, es decir, se utiliza al crear e iniciar un objeto de una clase.

  • Constructores múltiples

    Cuando se declara una clase en Java, se pueden declarar uno o más constructores (constructores múltiples) opcionales que realizan la iniciación cuando se instancia un objeto de dicha clase.

Para la clase Usuario del ejemplo anterior no se especificó ningún constructor, sin embargo, Java proporciona un constructor por omisión que inicia las variables del objeto a sus valores predeterminados.


Ej. 

/* ProgUsuario.java */

class ProgUsuario
{
   public static void main(String args[])
   {
     Usuario usr1, usr2;     /* Se declaran dos objetos de la clase Usuario */
     boolean si_no;
		
     usr1 = new Usuario();       /* Se utiliza el constructor por omisión */
     si_no = usr1 instanceof Usuario;
		
     if(si_no == true)
       System.out.println("\nEl objeto usr1 SI es instancia de Usuario.");
     else
       System.out.println("\nEl objeto usr1 NO es instancia de Usuario.");
		
     usr2 = usr1;		/* usr1 y usr2 son el mismo objeto */
     si_no = usr2 instanceof Usuario;
		
     if(si_no == true)
       System.out.println("\nEl objeto usr2 SI es instancia de Usuario.");
     else
       System.out.println("\nEl objeto usr2 NO es instancia de Usuario.");
    }
}

«Indice»     «Anterior»     « Siguiente »