博主尝试一下如下的代码是否符合您的要求:
public class Point {
private int x;
private int y;
// 构造方法
public Point() {
this(0, 0);
}
public Point(int x) {
this(x, x);
}
public Point(int x, int y) {
this.x = x;
this.y = y;
}
// 计算到指定点的距离
public double distance(Point p) {
int dx = x - p.x;
int dy = y - p.y;
return Math.sqrt(dx * dx + dy * dy);
}
public double distance(int x, int y) {
return distance(new Point(x, y));
}
// 计算两个点之间的距离
public static double distance(Point p1, Point p2) {
return p1.distance(p2);
}
// getter 和 setter 方法
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;
}
}
以下是一个测试类的实现,用于测试 Point 类的不同构造方法和 distance 方法:
public class TestPoint {
public static void main(String[] args) {
// 创建多个点对象并计算它们之间的距离
Point p1 = new Point(); // (0, 0)
Point p2 = new Point(3); // (3, 3)
Point p3 = new Point(1, 2); // (1, 2)
Point p4 = new Point(4, 5); // (4, 5)
System.out.println("p1 和 p2 之间的距离:" + p1.distance(p2));
System.out.println("p2 和 p3 之间的距离:" + p2.distance(p3));
System.out.println("p3 和 p4 之间的距离:" + Point.distance(p3, p4));
System.out.println("p4 和 (0, 0) 之间的距离:" + p4.distance(0, 0));
}
}
以上代码中,我们通过创建不同的 Point 对象,并使用不同的参数来调用它们的 distance 方法,计算了它们之间的距离。此外,我们还使用了静态的 distance 方法,计算了两个指定点之间的距离。