课程咨询 :186 8716 1620      qq:2066486918

昆明Java培训 > 达内新闻 > 昆明java培训班:java泛型接口
  • 昆明java培训班:java泛型接口

    发布:昆明Java培训      来源:达内新闻      时间:2016-09-22

  • 昆明Java培训机构的老师最近整合一个第三方类库,遇到了泛型的问题。

    public interface QueryApi<T extends QueryApi<?,?>,U>

    public abstract class QueryApiImpl<U> implements QueryApi<QueryApiImpl<?>,U>

    public interface TaskQueryApi<T extends OrderFlow> extends QueryApi<TaskQueryApi<?>, T>

    public class TaskQueryApiImpl<T extends OrderFlow> extends QueryApiImpl<T> implements TaskQueryApi<T>

    以上,编译报错

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

    修改为

    public interface TaskQueryApi<T extends OrderFlow> extends QueryApi<QueryApiImpl<?>, T>后正常。

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

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

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

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

    了解详情请登陆昆明达内Java培训官网(km.Java.tedu.cn)!

    推荐文章

上一篇:java培训:java中的字符串相关知识整理

下一篇:Java单例模式实现的几种方式

最新开班日期  |  更多

Java--零基础全日制班

Java--零基础全日制班

开班日期:11/30

Java--零基础业余班

Java--零基础业余班

开班日期:11/30

Java--周末提升班

Java--周末提升班

开班日期:11/30

Java--零基础周末班

Java--零基础周末班

开班日期:11/30

  • 网址:http://km .java.tedu.cn      地址:昆明市官渡区春城路62号证券大厦附楼6楼
  • 课程培训电话:186 8716 1620      qq:2066486918    全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内国际公司(TARENA INTERNATIONAL,INC.) 版权所有 京ICP证08000853号-56