首页 > 解决方案 > 努力从接口调用重载方法到类

问题描述

所以我有这些方法的接口

public interface Figura {
    public double poleFigury();
    Object nowyObiekt();
    public double obwódFigury();
}

而且我没有设置参数,所以我可以调用相同的方法 2 次,但是有些东西不正确,并且无法弄清楚它可能是什么

public class Prostokąt implements Figura {
    double a;
    double b;

    public Prostokąt(double a, double b) {
        this.a = a;
        this.b = b;
    }


    @Override
    public double poleFigury(double a, double b) {
        return 0;
    }

    @Override
    public Object nowyObiekt() {
        Prostokąt nowyProstokąt = new Prostokąt(7.8,8.2);
        return nowyProstokąt;
    }

    @Override
    public double obwódFigury() {
        return 0;
    }

}

这是代码的第二部分

标签: javaclassmethodsinterface

解决方案


你已经在接口中定义了这个没有参数的方法

public double poleFigury();

但是你用参数实现它

 @Override
public double poleFigury(double a, double b) {
    return 0;
}

您必须在其接口中定义此方法

public double poleFigury(double a, double b);

那么你有

public interface Figura {
    public double poleFigury();
    public double poleFigury(double a, double b);
    Object nowyObiekt();
    public double obwódFigury();
}

public class Prostokąt implements Figura {
    double a;
    double b;

    public Prostokąt(double a, double b) {
        this.a = a;
        this.b = b;
    }

     @Override
    public double poleFigury() {
        return 0;
    }

    @Override
    public double poleFigury(double a, double b) {
        return 0;
    }

    @Override
    public Object nowyObiekt() {
        Prostokąt nowyProstokąt = new Prostokąt(7.8,8.2);
        return nowyProstokąt;
    }

    @Override
    public double obwódFigury() {
        return 0;
    }
}     

推荐阅读