[英]How to implement an interface for different classes of different data types
假設您有一個具有sum
方法的接口,並且具有兩個實現類A
和B
類A
要總結兩個整數和類B
要總結兩個長。 接口C
的實現將是什么?
class A implements C{
sum(2,3);
}
class B implements C {
sum(2.0,3.0);
}
應該如何實施C?
您可以使用通用接口來實現。 例如
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;
}
}
通用界面可以為您提供幫助。 您可以使用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;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.