Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何为不同数据类型的不同类实现接口_Java - Fatal编程技术网

Java 如何为不同数据类型的不同类实现接口

Java 如何为不同数据类型的不同类实现接口,java,Java,假设您有一个接口,它有一个sum方法,有两个实现类a和B。类A要求两个整数之和,类B要求两个长整数之和。接口C的实现是什么 class A implements C{ sum(2,3); } class B implements C { sum(2.0,3.0); } 如何实现C?您可以使用通用接口来实现这一点。比如说 接口C{ T和(ta,tb); } A类实现C{ @凌驾 公共长款(长款a、长款b){ 返回a+b; } } B类实现C{ @凌驾 公共浮动金额(浮动a、浮动b){ 返回a+

假设您有一个接口,它有一个
sum
方法,有两个实现类
a
B
。类
A
要求两个整数之和,类
B
要求两个长整数之和。接口
C
的实现是什么

class A implements C{
sum(2,3);
}

class B implements C {
sum(2.0,3.0);
}

如何实现C?

您可以使用通用接口来实现这一点。比如说

接口C{
T和(ta,tb);
}
A类实现C{
@凌驾
公共长款(长款a、长款b){
返回a+b;
}
}
B类实现C{
@凌驾
公共浮动金额(浮动a、浮动b){
返回a+b;
}
}

您可以使用通用接口实现这一点。比如说

接口C{
T和(ta,tb);
}
A类实现C{
@凌驾
公共长款(长款a、长款b){
返回a+b;
}
}
B类实现C{
@凌驾
公共浮动金额(浮动a、浮动b){
返回a+b;
}
}

通用界面可以在这里帮助您。您可以使用Java中的泛型扩展
Number

接口

public interface BaseInterface<T extends Number> {
    T sum(T a, T b);
}
公共接口BaseInterface{
T和(ta,tb);
}
整数实现

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;
    }
}
公共类实现One实现BaseInterface{
@凌驾
公共整数和(整数a、整数b){
返回a+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;
    }
}
公共类推进两个实现BaseInterface{
@凌驾
公共双和(双a,双b){
返回a+b;
}
}

通用界面可以在这里帮助您。您可以使用Java中的泛型扩展
Number

接口

public interface BaseInterface<T extends Number> {
    T sum(T a, T b);
}
公共接口BaseInterface{
T和(ta,tb);
}
整数实现

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;
    }
}
公共类实现One实现BaseInterface{
@凌驾
公共整数和(整数a、整数b){
返回a+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;
    }
}
公共类推进两个实现BaseInterface{
@凌驾
公共双和(双a,双b){
返回a+b;
}
}

2.0
3.0
不是
long
s.
2.0
3.0
不是
long
s。。。