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)
我怎么解决这个问题?
也许你的意思是像这样使用泛型:
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)