Hola, hoy vamos hablar de la famosa clase Object, para algunos es algo común utilizar la clase Object como un objeto para castear y demás, pero bueno como sabrán me gusta especializarme y no hablar de mas así que decidí entrar un poco mas en detalle.
La clase Object en Java
Todas las clases son en realidad subclases de una clase mas amplia: la clase Object. Cuando decimos esto estamos diciendo que todas las clases que utilicemos hasta las que creamos se extienden de la clase Object. Esto se puede ver mejor cuando generamos una clase por ejemplo Persona, cuando utilizamos el auto-completar del eclipse vemos que la clase recién creada Persona tiene muchos mas métodos los cuales nunca creamos, por ejemplo:el método .equals(),hashCode(), etc.
En el anterior diagrama UML, podemos ver como todas las clases creadas heredan de la clase Object. Esto a excepción de Cliente que hereda de Usuario, aunque al estar ésta ultima heredando de Object convierte automáticamente a Cliente en un Object también.Diagrama UML de la clase Object en Java |
Los métodos de la clase Object en Java
Los métodos públicos y protegidos de la clase Object son:
- public boolean equals(Object obj): compara si dos objetos son iguales, por defecto un objeto es igual solamente a si mismo.
- public int hashCode(): Devuelve un valor de código hash para el objeto. Este método se apoya en beneficio de tablas hash tales como los proporcionados por java.util.Hashtable.
- protected Object clone() throws CloneNotSuportedException: devuelve una copia binaria del objeto, al parecer al hacer la copia hace referencia a una nueva posición de memoria.
- public final Class getClass(): devuelve el objeto del tipo Class que representa dicha clase durante la ejecución, es decir devuelve el tipo de clase al que pertenece.
- protected void finalize() throws Throwable: se usa para finalizar el objeto, es decir, se avisa al administrador de la memoria que ya no se usa dicho objeto, y se puede ejecutar código especial antes de que se libere la memoria.
- public String toString():devuelvo una cadena describiendo el objeto.
- void nativa public final notify(): Se despierta un solo hilo que está esperando en el monitor de este objeto. Un subproceso espera en el monitor de un objeto llamando a uno de los de espera métodos.
final public native void notifyAll (): Se despierta todos los temas que están en espera en el monitor de este objeto. Un subproceso espera en el monitor de un objeto llamando a uno de los de espera métodos.
- final public void wait (): Espera que se le notifique por otro subproceso de un cambio en este objeto.
Las clases derivadas deben sobrescribir los métodos adecuadamente, por ejemplo el método equals, en el caso de los métodos protected se pueden sobre escribir. pero para utilizarlos correctamente necesitamos llamar a la clase Object, mediante el super y también utilizar la implementacion de la Interface Cloneable, en el caso que queramos hacer un clonador del Objeto.
JavaPlayer - La clase Object en Java - Los métodos de la clase Object en Java
Reviewed by El lado oscuro de java
on
diciembre 07, 2013
Rating:
Buenas tardes, un tipo object tiene datos a mapear, entre ellos el value, y dentro otro value... como es q lo mapeo?
ResponderEliminar