创建一个 Point 类,包含坐标x、y。然后创建一个MyPoint类,定义两个读写变量 start和end,数据类型为 Point。MyPoint()方法:计算 start和 end之间的距离并输出 start 和 end 坐标以及距离信息。
时间: 2024-09-10 21:04:00 浏览: 108
首先,我们创建一个名为`Point`的基本类,用于存储二维坐标:
```java
public class Point {
private double x;
private double y;
// 构造函数
public Point(double x, double y) {
this.x = x;
this.y = y;
}
// 获取和设置坐标值的方法
public double getX() { return x; }
public void setX(double newX) { x = newX; }
public double getY() { return y; }
public void setY(double newY) { y = newY; }
// 重写 toString() 方法,以便于打印坐标
@Override
public String toString() {
return "Point{" +
"x=" + x +
", y=" + y +
'}';
}
}
```
接下来,我们将创建`MyPoint`类,它继承自`Point`并增加start和end属性,并实现计算距离的方法:
```java
import java.lang.Math;
public class MyPoint extends Point {
private Point start;
private Point end;
// 构造函数接受start和end的坐标
public MyPoint(Point start, Point end) {
super(start.getX(), start.getY());
this.start = new Point(start);
this.end = new Point(end);
}
// 计算并返回两点之间的距离
public double getDistance() {
double dx = end.getX() - start.getX();
double dy = end.getY() - start.getY();
return Math.sqrt(dx * dx + dy * dy);
}
// 输出坐标和距离信息
public void printInfo() {
System.out.println("Start point: " + start);
System.out.println("End point: " + end);
System.out.println("Distance between start and end: " + getDistance());
}
}
```
现在你可以实例化`MyPoint`对象并调用其方法:
```java
public static void main(String[] args) {
Point p1 = new Point(0, 0);
Point p2 = new Point(3, 4);
MyPoint myPoint = new MyPoint(p1, p2);
myPoint.printInfo();
}
```
阅读全文