前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java泛型指定继承和实现

java泛型指定继承和实现

作者头像
阿超
发布2022-08-21 13:36:55
3510
发布2022-08-21 13:36:55
举报
文章被收录于专栏:快乐阿超快乐阿超

我们使用泛型的时候,可以如下限定类型:

代码语言:javascript
复制
public static class Obj<T extends Obj<T>> {

}

那么我们Obj中的泛型就只能指定为继承了Obj的类

代码语言:javascript
复制
Obj<ObjChild> obj = new Obj<>();

例如:

代码语言:javascript
复制
public static class ObjChild extends Obj<ObjChild> {
}

我们如果想要限定,既继承了Obj,且实现了Serializable接口的类,就可以使用&符号这么写:

代码语言:javascript
复制
public static class Obj<T extends Obj<T> & Serializable> {

}

我们相应的子类,就需要这么写才符合泛型

代码语言:javascript
复制
public static class ObjChild extends Obj<ObjChild> implements Serializable {
}

此处注意我们可以继续指定多个接口,但继承的类只能指定一个且必须在首位

代码语言:javascript
复制
public static class Obj<T extends Obj<T> & Serializable & Cloneable> {

}
	
public static class Obj<T extends Serializable & Cloneable> {

}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档