早教吧作业答案频道 -->其他-->
有关java重写equals方法,判断两个点是否相同,publicclassPoint{\x05privatedoublex;\x05\x05privatedoubley;\x05\x05publicPoint(){\x05\x05\x05\x05this(5,0);\x05\x05\x05}\x05\x05publicPoint(doublex){\x05\x05\x05this
题目详情
有关 java 重写equals 方法,判断两个点是否相同,
public class Point{
\x05 private double x;
\x05
\x05 private double y;
\x05
\x05 public Point(){
\x05 \x05
\x05 \x05 this(5,0);
\x05 \x05
\x05 }
\x05
\x05 public Point(double x){
\x05 \x05
\x05 this(x,0);\x05
\x05 }
\x05
\x05 public Point(double x,double y){
\x05 \x05 super();
\x05 \x05 this.x = x;
\x05 \x05 this.y = y;
\x05 \x05
\x05 }
\x05
\x05 public void setX(double x){
\x05 \x05
\x05 \x05 this.x = x;
\x05 }
\x05
\x05 public double getX(){
\x05 \x05
\x05 \x05 return this.x;
\x05 }
\x05
\x05 public void setY(double n){
\x05 \x05
\x05 \x05 this.y = y;
\x05 }
\x05
\x05 public String toString(){
\x05 \x05
\x05 \x05 return this.x + "," + this.y;
\x05 }
\x05
//我就是不理解if 里面,为什么要这么写
\x05 public boolean equals(Point p){
\x05 \x05 if(this.x == p.getX() && this.y == p.getY() ){
\x05 \x05 \x05
\x05 \x05 \x05 return true;
\x05 \x05 }else{
\x05 \x05 \x05 return false;
\x05 \x05 }
\x05 \x05
\x05 }
\x05
\x05 public double getY(){
\x05 \x05
\x05 \x05\x05\x05return this.y;
\x05 }
\x05
\x05 public static void main(String[] args){
\x05 \x05
\x05 \x05
\x05 \x05
}
}
public class TestWraper{
\x05
\x05 public static void main(String[] args){
\x05 \x05
\x05 \x05 Integer i = new Integer(10);
\x05 \x05 Integer j = new Integer(10);
\x05 \x05 System.out.println(i.equals(j));
\x05 \x05 System.out.println(i.intValue() + 1);
\x05 \x05
\x05 \x05 String s = new String("devil");
\x05 \x05
\x05 \x05 Point p = new Point();
\x05 \x05 System.out.println(p);
\x05 \x05
\x05 \x05 Point p1 = new Point(3 ,3);
\x05 \x05 Point p2 = new Point(3 ,3);
\x05 \x05
\x05 \x05 System.out.println(p1.equals(p2));
\x05\x05\x05 }
\x05
\x05
}
我的想法是 判断两个点的X,Y分别是否相等,但是这个程序if 里面写的我看不太明白,this.x 指的是对象本身的吧?和p.getX()相比是什么意思啊,这不是自己跟自己对比吗?我的理解应该是错误的.
public class Point{
\x05 private double x;
\x05
\x05 private double y;
\x05
\x05 public Point(){
\x05 \x05
\x05 \x05 this(5,0);
\x05 \x05
\x05 }
\x05
\x05 public Point(double x){
\x05 \x05
\x05 this(x,0);\x05
\x05 }
\x05
\x05 public Point(double x,double y){
\x05 \x05 super();
\x05 \x05 this.x = x;
\x05 \x05 this.y = y;
\x05 \x05
\x05 }
\x05
\x05 public void setX(double x){
\x05 \x05
\x05 \x05 this.x = x;
\x05 }
\x05
\x05 public double getX(){
\x05 \x05
\x05 \x05 return this.x;
\x05 }
\x05
\x05 public void setY(double n){
\x05 \x05
\x05 \x05 this.y = y;
\x05 }
\x05
\x05 public String toString(){
\x05 \x05
\x05 \x05 return this.x + "," + this.y;
\x05 }
\x05
//我就是不理解if 里面,为什么要这么写
\x05 public boolean equals(Point p){
\x05 \x05 if(this.x == p.getX() && this.y == p.getY() ){
\x05 \x05 \x05
\x05 \x05 \x05 return true;
\x05 \x05 }else{
\x05 \x05 \x05 return false;
\x05 \x05 }
\x05 \x05
\x05 }
\x05
\x05 public double getY(){
\x05 \x05
\x05 \x05\x05\x05return this.y;
\x05 }
\x05
\x05 public static void main(String[] args){
\x05 \x05
\x05 \x05
\x05 \x05
}
}
public class TestWraper{
\x05
\x05 public static void main(String[] args){
\x05 \x05
\x05 \x05 Integer i = new Integer(10);
\x05 \x05 Integer j = new Integer(10);
\x05 \x05 System.out.println(i.equals(j));
\x05 \x05 System.out.println(i.intValue() + 1);
\x05 \x05
\x05 \x05 String s = new String("devil");
\x05 \x05
\x05 \x05 Point p = new Point();
\x05 \x05 System.out.println(p);
\x05 \x05
\x05 \x05 Point p1 = new Point(3 ,3);
\x05 \x05 Point p2 = new Point(3 ,3);
\x05 \x05
\x05 \x05 System.out.println(p1.equals(p2));
\x05\x05\x05 }
\x05
\x05
}
我的想法是 判断两个点的X,Y分别是否相等,但是这个程序if 里面写的我看不太明白,this.x 指的是对象本身的吧?和p.getX()相比是什么意思啊,这不是自己跟自己对比吗?我的理解应该是错误的.
▼优质解答
答案和解析
当然不一样,给你举个例子
Point p1 = new Point(11,11);
Point p2 = new Point(22,22);
p1.equals(p2); //这就是equals的用法
你看,分明是两个对象,怎么会一样呢.
----------------------------------------------------------
楼主 我问你 怎么判断这两个点相等呢?
那就是x点坐标与y点坐标都一样不就是相等的么!
Point p1 = new Point(11,11);
Point p2 = new Point(22,22);
p1.equals(p2); //这就是equals的用法
你看,分明是两个对象,怎么会一样呢.
----------------------------------------------------------
楼主 我问你 怎么判断这两个点相等呢?
那就是x点坐标与y点坐标都一样不就是相等的么!
看了 有关java重写equals...的网友还看了以下:
答案是什么啊42.IsawBobinthelibrarywhenIwastherelastnight 2020-03-30 …
A、B、C三个数,已知A是另两个数和的12,B是另两个数和的13,已知C是50,A、B各是多少? 2020-05-15 …
比较a与b的大小#include<stdio.h>int main(){\x05int a,b,m 2020-05-15 …
已知集合A是由两个元素a-3,2a-1组成的集合,求a的取值范围. 2020-05-15 …
Syntaxerrorontoken"else",deletethis详细内容如下:publicc 2020-05-17 …
已知A-H均为初中化学常见的物质,他们之间的关系如图所示(“-”表示相邻的两种物质能发生反应;“→ 2020-05-17 …
1.选什么主要是想知道为什么1.Radioandtelevisionhaveus(A)ofthen 2020-05-21 …
帮我修改作文哪里需修改有\x05很\x05多\x05人\x05说\x05过\x05,\x05友\x 2020-06-04 …
已知ABCDEFG是常见物质A是有两种元素的固体化合物C是一切生命都离不开的氧化物F蓝色沉淀反应: 2020-06-04 …
大哥大姐们,帮一哈,A、B、C三点在同一直线上,一个物体自A点从静止开始作匀加速直线运动,经过B点 2020-06-05 …