JavaAPI-常用方法重写

泄露秘密 提交于 2019-12-26 22:49:57

Object中常见的重写方法

toString()方法

  1. System.out.println(Object o)
    该方法给对象的toString方法返回的字符串输出到控制台。

  2. toString()方法
    1.Object的toString方法是常见的会被子类重写的方法,该方法原始定义返回的字符串是对象的“句柄”,即地址信息,但是实际价值小。
    该方法很少会直接调用,都是在调用某个API时被自动调用。

  3. toString方法返回的字符串没有严格的格式要求,可结合实际情况而定,但是通常该字符串应当包括当前对象的属性信息。

  4. 示例:

/** 重写toString()方法,返回x,y的坐标(x,y) */
public String toString() {
	return "("+x+","+y+")";
}

equals()方法

  1. Object中equals方法的源码是这样的:
public boolean equals(Object obj) {
    return (this == obj);
}
  1. 对于引用类型而言:
  • = =的比较是比较两个变量的值,即地址是否相同== ,因此 = =的意义是比较两个变量是否指向“同一个对象”。
  • equals方法是Object提供的方法,设计意义是比较两个变量指向的对象“内容是否相同”。但是该方法需要被子类重写,否则就是比较==
    (注意:重写equals()方法要判断其类型,类型一致才进行判断)
  1. 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;
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!