Object类详解
一、Object类的概述
类层次结构的根类,每个类都使用Object类作为超类
所有类都直接或间接的继承自该类
二、Object类的常用方法
1、toString()方法
public int hashCode():返回该对象的哈希码值。
注意:哈希码值根据哈希算法计算出来的一个值,这个值和地址值有关,但不是实际地址值,可以理解为地址值。
public final Class getClass():返回此Object的运行时类
Class类的方法:
public String getName():以String的形式返回此Class对象所表示的实体
public String toString():返回该对象的字符串表示。
建议所有的子类都重写toString()方法,因为toString()方法返回的值没有意义。
怎么重写才有意义呢? 把该类的所有成员变量值组成返回即可。可以使用eclipse自动生成toString
2、finalize()方法
protected void finalize():当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。用于垃圾回收,但是什么时候使用不确定。
protected Object clone():创建并返回此对象的一个副本。
3、equals()方法
public boolean equals(Object obj)
指示其他某个对象是否与此对象“相等”
public boolean equals (Object obj){
return (this==obj);
}
这个方法,默认情况下比较的是地址值。
==:
基本类型:比较的就是值是否相同
引用类型:比较的就是地址值是否相等
equlas:
引用类型:默认情况下(Object类或一般类中),比较的是地址值。
在String类中,已经重写了Object类的equals()方法,所以比较值是相等的。
String的equals()方法判断两个字符串相等的标准是:只要两个字符串所包含的值是否相等,则返回true。
重写方法如下: