La Clase Object. La SuperClase en JAVA

11/20/2016

La Clase Object. La SuperClase en JAVA


Es la clase base de las clases en JAVA. Cada una de las clases JAVA extienden de esta super clase, con la finalidad de proporcionar una serie de métodos de utilidad general que pueden ser utilizados por todos los objetos, en la documentación de JAVA podrás encontrar información de estos métodos.



Ubicación de la clase Object

La ubicación de esta clase se en cuentra en el paquete java.lang 

Extendiendo la de la clase Object

Para extender de esta clase no es necesario utilizar la palabra reservada extends, de esto se encarga la JVM. 


Algunos Metodos de la clase Object.

Entre los métodos de la clase Object podemos tener los siguientes:
  • El método equals().
  • El método getClass().
  • El método toString().

Definición del método equals().

Este método es heredado por todas las clases definidas en Java, este puede ser utilizado para comparar dos objetos, esta comparación no es la misma proporcionada por el operador ==, debido a que solamente compara si dos referencias a objetos apuntan al mismo objeto.

Por lo general el método equals() es utilizado para saber si 2 objetos son del mismo tipo y contienen los mismos datos. Este método devuelve dos posibles valores (true, false) devuelve true sólo si los objetos son iguales y falso en el caso contrario.

Este método puede ser sobreescrito por cualquier clase creada en Java

Este método es utilizado para comparar  si un objeto es igual al objeto que llama a este metodo

Definición del método getClass().

Las instancias de la clase Class representan todas las clases e interfaces que están siendo ejecutadas por la aplicación Java. Esta clase no presenta constructores debido a que los métodos son construidos de forma automática por la Máquina Virtual Java (JVM) cuando sus clases son cargadas, o mediante llamadas al método defineClass() del cargador de clases. 

Class es una clase de gran importancia, con ella se pueden realizar peticiones de información sobre objetos, como lo es su nombre o cómo se llama su superclase. 

El método getClass() de la clase Object se puede utilizar para determinar la clase de un objeto. Este devuelve un objeto de tipo Class, el cual contiene información importante sobre el objeto que crea la clase.


Definición del método toString().

Éste método puede usarse para convertir todos los objetos conocidos por el compilador a algún tipo de representación de cadena, la cual dependerpá del objeto.


Download Source Code

Ejemplos.

/**
 * Example to show the overwriting of the toString() and equals() method and the implementation of the getClass()
 */
package com.onlyjava.test;

/**
 * @author OnlyJava
 *
 */
public class TestObject {
/** Object Value */
private Object m_Val = null;
/** String ClassName */
private String className = null;
/** String SupClassName */
private String supClassName = null;
/**
* Construct
*/
public TestObject(Object p_Obj) {
super();
this.className = p_Obj.getClass().getName();
this.supClassName = p_Obj.getClass().getSuperclass().getName();
if(p_Obj instanceof Integer) {
m_Val = (Integer) p_Obj;
} else if(p_Obj instanceof Byte) {
m_Val = (Byte) p_Obj;
} else if(p_Obj instanceof String) {
m_Val = (String) p_Obj;
} else if(p_Obj instanceof Float) {
m_Val = (Float) p_Obj;
} else if(p_Obj instanceof Double) {
m_Val = (Double) p_Obj;
} else if(p_Obj instanceof Boolean) {
m_Val = (Boolean) p_Obj;
}
}
/**
* Main
* @param args
*/
public static void main(String[] args) {
// Instance object to compare
TestObject m_ObjInt = new TestObject(1);
TestObject m_ObjString = new TestObject("1");

System.out.println(m_ObjInt.toString());
System.out.println(m_ObjInt.equals(m_ObjInt));
System.out.println(m_ObjString.toString());
System.out.println(m_ObjString.equals(m_ObjString));
System.out.println(m_ObjString.equals(m_ObjInt));
}
@Override
public boolean equals(Object p_Obj) {
if ((p_Obj != null) 
&& (p_Obj instanceof TestObject)) {
TestObject m_Obj = (TestObject) p_Obj;
return this.m_Val == m_Obj.m_Val;
} else {
return false;
}
}
@Override
public String toString() {
return "[ClassName= " + this.className + ", " 
+ "SuperClassName= " + this.supClassName + "]";
}
}




0 comentarios :

Publicar un comentario