¿Que es la Clase Object?

La clase Object es la clase que esta por encima de todas las existentes en Java, es la responsable de todos los estados y comportamientos de todos los objetos, ya que descienden de ella.

Los metodos que proporciona la clase Object son:
  • Poder compararse con otro objeto.
  • Convertirse en cadena.
  • Esperar que pase una condición.
  • Notificar que una condición ha cambiado.
  • Devolver la clase de un objeto.

Metodo equals()

El método equals(), se utiliza para comparar dos objetos. Ojo no confundir con el operador ==, que ya sabemos que sirve para comparar tambien, equals compara si dos objetos apuntan al mismo objeto.

Equals() se usa para saber si dos objetos son del mismo tipo y tienen los mismos datos. Nos dara el valor true si son iguales y false si no.

Las subclases pueden sobreescribir el método equals() parahacer una comparación entre dos objetos.

En la lista de argumentos del método equals() hay que pasarle un argumento de tipo Object. sino se sobrecarga el método, no se sobreescribe.

Inicio

Metodo getClass()

El método getClass() es un método final que no puede sobreescribirse que devuelve una representación en tiempo de ejecución de la clase del objeto. Este método devuelve un objeto Class al que se le puede pedir información sobre la clase, como su nombre, el nombre de su superclase y los nombres de los interfaces que implementa.

Inicio

Metodo toString()

Este metodo se usa para convertir los objetos a una cadena.

Por ejemplo, se puede extraer el entero contenido en un objeto Integer.

Este método también se puede sobreescribir, o redefinir, para convertir los objetos definidos a cadenas.

Inicio

Ejemplos

Object()
public class Object {
public final Class getClass() { . . . }
public String toString() { . . . }
public boolean equals(Object obj) { . . . }
public int hashCode() { . . . }
protected Object clone() throws CloneNotSupportedException { . . . }
public final void wait() throws IllegalMonitorStateException,
InterruptedException { . . . }
public final void wait(long millis) throws IllegalMonitorStateException, InterruptedException {. . .}
public final void wait(long millis, int nanos) throws IllegalMonitorStateException, InterruptedException { . . . }
public final void notify() throws IllegalMonitorStateException { . . . }
public final void notifyAll() throws IllegalMonitorStateException { . . . }
protected void finalize() throws Throwable { . . . }
}
Metodo equals()
// Aqui tenemos dos clases String 
String uno = new String ("Un texto");
String dos = new String ("Un texto"); 
	 if (uno == dos ) {// Esta comparacion siempre 
					   //	devuelve false
         ... Esto no se ejecutará 
     }  
     if (uno.equals(dos)) {// Esta comparación 
							// si devuelve true   					                .... Esto si se ejecutará.  }
class Punto {  
        int x;  
        int y;    // el metodo equals seria :  
        public boolean equals (Object obj) {    
        if (this == obj)
        { 
          return true; 
        }  
        if (obj instanceof Punto)
       {      
       Punto otro = (Punto)obj;
        return ((x==otro.x) &&
         (y==otro.y))    
         } 
         else
          {
          return false;  
          }
       }
    }
public int hashCode () {
                 // Multiplicamos por numeros primos   
                 int result = 17; 
                result = 37 * result + x;
                   result = 37 * result + y;
                      return result;
                        }
Metodo getClass()
El siguiente método 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());
Metodo toString()
En este ejemplo al imprimir convertirá automaticamente a String el objeto MiClase creado, llamando al metodo toString.
public class MiClase {
public String toString() {
return "es un objeto de miclase ";
}
public static void main(String[] args) {
System.out.println(new MiClase().toString() );
}
}

Inicio