Борьба с вызовом перегруженных методов из интерфейса в класс - PullRequest
0 голосов
/ 04 декабря 2018

Итак, у меня есть интерфейс с этими методами

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;
    }

}

это вторая часть кода

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Классы, которые наследуют интерфейсы, должны реализовывать или переопределять все методы интерфейса, поэтому он имеет @Override.Но если абстрактный или другой интерфейс наследует интерфейс, вы можете наследовать методы без реализации или переопределения.

0 голосов
/ 05 декабря 2018

вы определили в интерфейсе этот метод без аргументов

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;
    }
}     
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...