Java泛型继承的问题,有高手可以解答下吗?

alihand 2015-07-16 08:38:45
public abstract class BaseEntity<T> implements Serializable {

...

}

public abstract class DataEntity<T> extends BaseEntity<T>{

...

}​



public class User extends DataEntity<User>{

...

}​

public class Scholar extends User {

...

}​



public abstract class CrudService<D extends CrudDao<T>, T extends DataEntity<T>> extends BaseService{

...

}​

public class ScholarService extends CrudService<ScholarDao, Scholar>{ //这个地方编译出错

...

}​

错误信息:Multiple markers at this line
- Bound mismatch: The type Scholar is not a valid substitute for the bounded parameter <T extends DataEntity<T>> of the type
CrudService<D,T>

...全文
251 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
ilmlife 2015-07-17
  • 打赏
  • 举报
回复
你的Scholar 不满足T extends DataEntity<T> 编译是不会通过的 Scholar 继承自User而传入的类型是User 而你下面的参数是T extends DataEntity<T> 而你现在写的相当于Scholar extends DataEntity<User> 猜的

50,451

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧