我试图了解两种具有相同名称的方法之间的区别。这是我试图理解的代码......
public class Test {
public static void main(String[] args) {
MyPoint p1 = new MyPoint();
MyPoint p2 = new MyPoint(10, 30.5);
System.out.println(p1.distance(p2));
System.out.println(MyPoint.distance(p1, p2));
}
}
class MyPoint {
.....
}
public double distance(MyPoint secondPoint) {
return distance(this, secondPoint);
}
public static double distance(MyPoint p1, MyPoint p2) {
return Math.sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y));
}
有人可以解释这两种方法之间的区别distance()
。类型MyPoint
实际上是什么意思?为什么其中一个方法有一个MyPoint
对象,而另一个方法有两个MyPoint
对象?