- Object:是所有类的超级顶类,几个经常被重写的方法如下
- toString();将一个对象转换成字符串,输出的是一个地址。我们用的话,需要重写
- equals();底层用的是 == 所以比的也是地址,我们要用来比内容,所以也需要重写
- 如何理解属性私有化,行为公开化
- java bean属性私有化,属性只有它自己可以用,但是行为给它放开公开化,我们可以去get、set,即:我的属性,只有我自己能操作,通过get、set方法,别人不能操作,有必要的话,get、set可以添加条件
- 唱歌,你必须new 我,然后我自己来操作我的属性:走路、唱歌。别人不能直接调我的走路唱歌,面向对象。
- 你管我借钱,我就一定要借给你吗?虽然你new 了我,但是我可以加条件,不借^ ^
- java bean属性私有化,属性只有它自己可以用,但是行为给它放开公开化,我们可以去get、set,即:我的属性,只有我自己能操作,通过get、set方法,别人不能操作,有必要的话,get、set可以添加条件
- Point类
public class Point { private int x; private int y; public Point(int x, int y) { this.x = x; this.y = y; } public int getX() { return x; } public void setX(int x) { this.x = x; } public int getY() { return y; } public void setY(int y) { this.y = y; } @Override public String toString() { return "Point{" + "x=" + x + ", y=" + y + '}'; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Point point = (Point) o; return x == point.x && y == point.y; } @Override public int hashCode() { return Objects.hash(x, y); }
- Demo类
public class Demo { public static void main(String[] args) { Point p = new Point(1,2); /** * Object已经实现了toString()方法,直接继承下来时返回的字符串内容为当前对象的 * 地址信息,格式为:包名.类命@地址 * * toString()方法实际开发中很少直接写代码去点用它,都是在不经意间被自动执行的 * 例如在使用System.out.println()输出时,与字符串连接操作时。 */ String str = p.toString(); System.out.println(str); //这里输出给定对象toString()返回的字符串到控制台 System.out.println(p); //实际上输出的是System.out.println(p.toString()); //+连接操作 字符串连接操作时,会将 非String类型对象 调用toSpring方法 如下 p //转换为字符串后拼接 String line = "这是一个Point:" + p; System.out.println(line); //object里边的 equals 里边也是 用 == 写的, //我们要比两个对象内容需要重写equals()方法 /** * 对于引用类型而言,变量保存的值是对象的地址 * == 比较是比较两个变量的值是否相等,因此对于引用类型而言就是比较地址是否相等, * 那么意思就是比较是否为同一个对象 * * euqals是Object定义的另一个方法,意图是比较两个对象的内容是否相等,但是如果 * 子类不重写这个方法,则没有实际意义,因为Object实现时内部仍然是用==比较的! */ Point p2 = new Point(1,2); System.out.println(p == p2);//false 比的是地址 System.out.println(p.equals(p2));//没有重写 是false System.out.println(p.equals(p2));//重写equals方法后 true } }
javaSE-day03.6-重写Object的toString()、equals()方法
最新推荐文章于 2024-07-21 22:27:18 发布