补全下面代码,实现创建 Point 对象时,定义一个匿名内部类。 这个类的父类是 Point,创建对象的时候,给父类的构造方法传递了参数2和3,重写distance()方法,在方法中访问了外部方法 final 参数 x 和 y。
时间: 2024-12-20 09:23:22 浏览: 7
```java
public class Main {
public static void main(String[] args) {
// 创建一个 Point 对象,通过匿名内部类实现
Point point = new Point(2, 3) {
@Override
public double distance() {
return Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)); // 使用final变量x和y
}
};
// 调用匿名内部类覆盖的方法
System.out.println("Distance from origin: " + point.distance());
}
// 定义 Point 类
public abstract class Point {
private final double x;
private final double y;
// 构造函数接收参数并设置坐标值
public Point(double x, double y) {
this.x = x;
this.y = y;
}
// 抽象方法 distance() 需要在子类中实现
public abstract double distance();
}
}
```
阅读全文