java task接口_java泛型接口

最近整合一个第三方类库,遇到了泛型的问题。绕来绕去的自己有点蒙了已经,所以记录下随笔

public interface QueryApi,U>

public abstract class QueryApiImpl implements QueryApi,U>

public interface TaskQueryApi extends QueryApi, T>

public class TaskQueryApiImpl extends QueryApiImpl implements TaskQueryApi

以上,编译报错

问题在于public interface TaskQueryApi  extends QueryApi, T>这句。

修改为

public interface TaskQueryApi extends QueryApi, T>后正常。

分析原因:TaskQueryApi实现了QueryApi,其中第一个泛型参数是TaskQueryApi

QueryApiImpl同样实现了QueryApi,其中第一个泛型参数是QueryApiImpl

所以,当TaskQueryApiImpl实现TaskQueryApi,同时集成了QueryApiImpl。这样就有两份向上的泛型参数,但是泛型的实例类型并不相同,导致报错。

当然这里TaskQueryApi也可以不集成QueryApi。这样,实现类里有QueryApi的方法,但是接口定义中就没有了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值