 Tutoriales
Introducción a Java
Clase Object
Esta clase rara vez la vamos a utilizar directamente, pero por ser la
clase de la que heredan todas las demás en Java, existen varios métodos que
podremos y, a veces, deberemos sobreescribir para lograr que nuestras clases
realicen ciertas tareas. Asú pies, si
o=new Object() entonces:
- boolean o.equals( Object )
- Comprueba si el objeto dado como parámetro es igual al objeto actual. Esta
implementación comprueba si ambas referencias son iguales por lo que no resulta
muy útil, ya que es equivalente al operador ==.
Las distintas clases de la librería de Java suelen sobreescribirlo para
comprobar si los contenidos de la instancia son los mismos. Por ejemplo, cuando
String sobreescribe este método compara si las
cadenas contenidas en ambas instancias son iguales.
- void o.finalize()
- Este método es llamado por el recolector de basura antes de eliminar el
objeto. Esta implementación no hace nada, debemos ser nosotros los que
sobreescribamos este método en caso de que queramos realizar alguna cosita
especial antes de eliminar el objeto de la memoria. Desafortunadamente, las
distintas implementaciones de Sun de la máquina virtual de Java no ofrecen
mucha seguridad de que realmente se vaya a ejecutar.
- Object o.clone()
- Este método copia el objeto. La intención es que, al sobreescribirlo,
creemos un objeto nuevo cuyas propiedades tengan el mismo valor que las
del objeto a copiar. Es decir, que x.clone.equals(x)
sea cierto. Si vamos a sobreescribirlo deberemos obligar a la clase a
implementar el interfaz Cloneable si no queremos
que surjan errores en ejecución.
- Class o.getClass()
- Devuelve un objeto de tipo Class que
identifica el tipo de objeto que tenemos. Podemos comprobar con
x.getClass() == y.getClass() si
x e y son del
mismo tipo.
- int o.hashCode()
- Devuelve el código Hash del objeto. Este código se utiliza para las tablas
Hash, que son la manera más eficiente de almacenar objetos. Pero para que dichas
tablas funcionen necesitan que cada objeto almacenado tenga un código numérico
que se mantenga durante toda la ejecución del programa y que sea el mismo para
dos objetos si dichos objetos son iguales según el método
equals(). Un ejemplo sería, para las cadenas,
devolver la longitud de la misma.
- String o.toString()
- Devuelve una representación del objeto en formato de cadena. Es llamado
automáticamente por Java cuando necesita convertir el objeto en cadena. Esta
implementación devuelve una cadena que contiene el nombre de la clase del
objeto, seguido de una arroba y del código Hash del mismo.
Existen otros métodos, pero al estar relacionados con las capacidades
multihilo de Java, los veremos entonces... quizá.
|
|
|