如何通过接口方法的返回类型调用接口方法

时间:2018-08-01 15:41:20

标签: java

我可以声明一个InterfaceA,其中可以包含任何方法。但重要的是要说,它必须包含返回Return<T extends Data>的方法(框架需要它们)。每个T仅出现一次,并且没有方法返回Data本身:

class InterfaceA {
    Return<DataA> returnData...(...);
    Return<DataB> returnData...(...);
    ...
}

我有ClassB:

class ClassB<T extends Data> {
    InterfaceA a;

    void process() {
        Return<T> data = a.returnData(...);
        ...
    }
}

我需要某种方法来根据InterfaceA的类型TClassB中选择适当的方法。我该怎么办?

1 个答案:

答案 0 :(得分:0)

我可以通过在接口中有一个方法来做到这一点,该方法将返回扩展数据的对象的类型,然后使用某些if语句或切换用例,然后根据该方法返回的内容运行一个方法。

例如。

public class Test extends Data{

private final String identifier;

public Test(String identifier){

this.identifier = identifier;

}
public String getIdentifier(){

return identifier;

}
}

不确定是否有帮助,就像其他人所说的那样,不是最好的设计模式。