Object类是所有类的父类,是java中唯一一个没有父类的类
String toString():每个类都有该方法,默认的toString获取的对象的句柄。
默认的返回形式为:类名@hashCode。
System.out.println();输出的是对象toString()的返回值。
重写toString()是为了用一句话更清楚的描述当前对象。
boolean equals(object o):用于判断来两个对象是否具有相同内容,即相同的引用。
java已重写了String类的equals(),可直接用于比较字符串对象的字符序列 是否相同,而非String类的比较需重写equals()方法,因为默认情况下的equals()比较规则为:==。
equals()和 == 用于比较的区别:
equals()比较的是两个对象内容是否相同,即是不是一模一样的双胞胎。
==比较的是值,可应用于任何类型,比较是否为同一个对象,即是不是同一个人。
<span style="font-size:14px;"><span style="font-size:14px;">equals()的重写
1.与null对象比较返回false
2.与自己比较返回true
3.判断是否为同类对象,若为同类对象则自己重写比较的方式,返回比较的结果
4.若不为同类对象,不具有可比性,返回false
下面举例说明
public boolean equals(Object o){
if( o == null){ //对象为空
return false;
}
if (o == this) { //对象为自己本身
return true;
}
if(o instanceof Point){//判断对象是否是属于Point类
Point p = (Point) o ; //强转为相同的类
return this.x == p.x && this.y == p.y;//自定义比较方法
}
return false; //类型不匹配,没有可比性
}</span></span>