java - 尝试实现多态但错误: method does not override or implement a method from a supertype

标签 java

我收到以下错误。请帮忙

错误:方法没有重写或实现父类(super class)型的方法

class Point2D {
    double x;
    double y;

    public double getX() {
        return x;
    }

    public double getY() {
        return y;
    }

    public Point2D(double x, double y) {
        this.x = x;
        this.y = y;
    }
    public double dist2D(Point2D p) {
        x = (int) Math.ceil(Math.sqrt(Math.pow((p.getX() - x), 2) + Math.pow((p.getY() - y), 2)));
        return x;
    }
    public static void printDistance(Double d) {
        System.out.println("2D distance =" + d);
    }
}

class Point3D extends Point2D {

    double z;

    public double getZ() {
        return z;
    }

    @Override
    public static void printDistance(Double d) {
        System.out.println("3D distance =" + d);
    }

    public Point3D(double x, double y, double z) {
        super(x, y);
        this.z = z;
    }
    public double dist3D(Point3D p) {
        return Math.ceil(Math.sqrt(Math.pow((p.getX() - x), 2) + Math.pow((p.getY() - y), 2) + +Math.pow((p.getZ() - z), 2)));
    }
}

public class Solution {

    public static void main(String[] args) {

        Point3D p1 = new Point3D(1, 2, 3);
        Point3D p2 = new Point3D(4, 5, 6);
        double d2 = p1.dist2D(p2);
        double d3 = p1.dist3D(p2);
        Point2D p = new Point2D(0, 0);
        p.printDistance(d2);
        p = p1;
        p.printDistance(d3);
    }
}

预期输出:

二维距离 = 5

3D 距离 = 6

错误:方法没有重写或实现父类(super class)型的方法

请告诉我更多信息

最佳答案

静态方法不能被覆盖,尽管它们可以被重载。 如果删除注释 @Override 并使用类 Point3D 调用该方法,则代码将起作用。

关于java - 尝试实现多态但错误: method does not override or implement a method from a supertype,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59365823/

相关文章:

java - 如何为 TChart Bar 创建渐变?

java - 强制重命名Java中的文件

java - 如何编写 Java 目录选择器?

java - 在 IntelliJ 中运行应用程序和运行 JAR 文件的区别

java - 我可以使用 Amazon 高级或低级 API 暂停和恢复分段上传吗?

Java如何解密给定方法的字节数组

Java - 向下转型时出现 ClassCastException

java - 在 Bash 中使用 Maven Exec 插件

java - 我的 Android 包名称应该是什么?

java - Elasticsearch JSON API 源 - 缺少部分?