课程咨询 :18487146383

  • 昆明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--零基础全日制班

开班日期:7月31日

Java--零基础业余班

Java--零基础业余班

开班日期:7月31日

Java--周末提升班

Java--周末提升班

开班日期:7月31日

Java--零基础周末班

Java--零基础周末班

开班日期:7月31日

  • 网址:http://km .java.tedu.cn      地址:昆明市官渡区春城路62号证券大厦附楼6楼
  • 课程培训电话:18487146383    全国服务监督电话:400-111-8989
  • 服务邮箱 tousu@tedu.cn
  • 2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56