Você está na página 1de 2

GUIA PRCTICA

LA CLASE OBJECT

La Clase Object
La clase Object est situada en la parte ms alta del rbol de la herencia en el entorno de desarrollo de Java. Todas las
clases del sistema Java son descendentes (directos o indirectos) de la clase Object. Esta clase define los estados y
comportamientos bsicos que todos los objetos deben tener, como la posibilidad de compararse unos con otros, de
convertirse a cadenas, de esperar una condicin variable, de notificar a otros objetos que la condicin varible a
cambiado y devolver la clase del objeto.

El mtodo equals()
equals() se utiliza para comparar si dos objetos son iguales. Este mtodo devuelve true si los objetos son iguales, o
false si no lo son. Observe que la igualdad no significa que los objetos sean el mismo objeto. Consideremos este
cdigo que compara dos enteros.

Integer uno = new Integer(1), otroUno = new Integer(1);


if (uno.equals(otroUno))
System.out.println("Los objetos son Iguales");
Este cdigo mostrar Los objetos son Iguales aunque uno y otroUno referencian a dos objetos distintos. Se les
considera iguales porque su contenido es el mismo valor entero.
Las clases deberan sobreescribir este mtodo proporcionando la comprobacin de igualdad apropiada. Un mtodo
equals() debera comparar el contenido de los objetos para ver si son funcionalmente iguales y devolver true si es
as.

El mtodo getClass()
El mtodo getClass() es un mtodo final (no puede sobreescribirse) que devuelve una representacin en tiempo de
ejecucin de la clase del objeto. Este mtodo devuelve un objeto Class al que se le puede pedir varia informacin
sobre la clase, como su nombre, el nombre de su superclase y los nombres de los interfaces que implementa. El
siguiente mtodo obtiene y muestra el nombre de la clase de un objeto.

void PrintClassName(Object obj) {


System.out.println("La clase del Objeto es " +
obj.getClass().getName());
}
Un uso muy manejado del mtodo getClass() es crear un ejemplar de una clase sin conocer la clase en el momento de
la compilacin. Este mtodo de ejemplo, crea un nuevo ejemplar de la misma clase que obj que puede ser cualquier
clase heredada desde Object (lo que significa que podra ser cualquier clase).

Object createNewInstanceOf(Object obj) {


return obj.getClass().newInstance();
}

El mtodo toString()
Este mtodo devuelve una cadena de texto que representa al objeto. Se puede utilizar toString para mostrar un
objeto. Por ejemplo, se podra mostrar una representacin del Thread actual de la siguiente forma.

System.out.println(Thread.currentThread().toString());
System.out.println(new Integer(44).toString());
La representacin de un objeto depende enteramente del objeto. El String de un objeto entero es el valor del entero
mostrado como texto. El String de un objeto Thread contiene varios atributos sobre el thread, como su nombre y
prioridad. Por ejemplo, las dos lneas anteriores daran la siguiente salida.

Thread[main,5,main]
4
El mtodo toString() es muy til para depuracin y tambin puede sobreescribir este mtodo en todas las clases.

Otros mtodos de Object cubiertos en otras lecciones o secciones


La clase Object proporciona un mtodo, finalize() que limpia un objeto antes de recolectar la basura. Este mtodo se
explica en la leccin Eliminar Objetos no Utilizados. Tambin en: Escribir un Mtodo finalize() puedes ver cmo
sobreescribir este mtodo para manejar las necesidades de finalizacin de las clases
La clase Object tambim proporciona otros cinco mtodos.

notify()
notifyAll()
wait() (tres versiones)

que son crticos cuando se escriben programas Java con mltiples thread. Estos mtodos ayudan a asegurarse que los
thread estn sincronizados y se cubren en Threads de Control.

Você também pode gostar