假设您有一个具有sum
方法的接口,该接口具有两个实现类A
和B
。类A
要对两个整数求和,而类B
要对两个整数求和。接口C
的实现将是什么?
class A implements C{
sum(2,3);
}
class B implements C {
sum(2.0,3.0);
}
应如何实施C?
答案 0 :(得分:1)
您可以使用通用接口来实现。例如
interface C<T extends Number> {
T sum(T a, T b);
}
class A implements C<Long> {
@Override
public Long sum(Long a, Long b) {
return a+b;
}
}
class B implements C<Float> {
@Override
public Float sum(Float a, Float b) {
return a+b;
}
}
答案 1 :(得分:0)
通用界面可以为您提供帮助。您可以使用Java中的泛型来扩展Number
类
界面
public interface BaseInterface<T extends Number> {
T sum(T a, T b);
}
整数实现
public class ImplementationOne implements BaseInterface<Integer> {
@Override
public Integer sum(Integer a, Integer b) {
return a + b;
}
}
双重实施
public class ImpelementationTwo implements BaseInterface<Double> {
@Override
public Double sum(Double a, Double b) {
return a + b;
}
}