Object中常见的重写方法
toString()方法
-
System.out.println(Object o)
该方法给对象的toString方法返回的字符串输出到控制台。 -
toString()方法
1.Object的toString方法是常见的会被子类重写的方法,该方法原始定义返回的字符串是对象的“句柄”,即地址信息,但是实际价值小。
该方法很少会直接调用,都是在调用某个API时被自动调用。 -
toString方法返回的字符串没有严格的格式要求,可结合实际情况而定,但是通常该字符串应当包括当前对象的属性信息。
-
示例:
/** 重写toString()方法,返回x,y的坐标(x,y) */
public String toString() {
return "("+x+","+y+")";
}
equals()方法
- Object中equals方法的源码是这样的:
public boolean equals(Object obj) {
return (this == obj);
}
- 对于引用类型而言:
- = =的比较是比较两个变量的值,即地址是否相同== ,因此 = =的意义是比较两个变量是否指向“同一个对象”。
- equals方法是Object提供的方法,设计意义是比较两个变量指向的对象“内容是否相同”。但是该方法需要被子类重写,否则就是比较==
(注意:重写equals()方法要判断其类型,类型一致才进行判断)
- eclipse有快捷方式直接生成equals()方法—空白处右键–>source–>Generate hashCode() and equals()
4.示例:
/** 重写equals()方法,判断坐标是否相等 */
public boolean equals(Object obj) {
if(obj==null) {
return false;
}
if(obj==this) {
return true;
}
if(obj instanceof Point) {
Point p = (Point)obj;
return this.x==p.x && this.y==p.y;
}
return false;
}
来源:CSDN
作者:雨醉东风
链接:https://blog.csdn.net/zhangxuelong461/article/details/103722082