同じ名前の2つのメソッドの違いを理解しようとしています。これは私が理解しようとしているコードです...
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));
}
誰かが2つのdistance()
方法の違いを説明してもらえますか?タイプMyPoint
は実際にはどういう意味ですか?MyPoint
1つのメソッドに1つのオブジェクトがあるのに、他のメソッドには2つのオブジェクトがあるのはなぜMyPoint
ですか?