具有不同参数的抽象函数

Eri*_*rik 2 java abstract-class abstract

我想用抽象函数声明一个抽象类,calc()并使用不同类型的参数.

public abstract class AbstractCalculation{
    public abstract double calc();
    ...
}

public StringClass extends AbstractCalculation{
    public double calc(String a, String b);
}

public DoubleClass extends AbstractCalculation{
    public double calc(double a, double b);
}
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?

YCF*_*F_L 5

也许你的意思是像这样使用泛型:

public abstract class AbstractCalculation<T> {
    public abstract double calc(T...params);//Here you can pass N param with any type
}
Run Code Online (Sandbox Code Playgroud)

要从此抽象类扩展,您可以使用:

public class DoubleClass extends AbstractCalculation<Double> {

    @Override
    public double calc(Double... params) {
        //Your action here
    }
}

public class StringClass extends AbstractCalculation<String> {

    @Override
    public double calc(String... params) {
        //Your action here
    }
}
Run Code Online (Sandbox Code Playgroud)