public class TestServiceImpl extends ServiceImpl<TestMapper, Test>
上面这句是直接继承泛型的写法。
我想要的是这样父类<M, T> extends ServiceImpl<M, T>public class TestServiceImpl extends 父类<TestMapper, Test>
想问下如何实现呢
其实我想多继承,所以加了个父类,但泛型这部分我就不会写了
3 回答
慕侠2389804
TA贡献1719条经验 获得超6个赞
补充一下泛型类的继承问题,例如父类声明如下:
public class ServiceImpl<M, T> {
public void test(M, T) {
// do something
}
}
子类继承父类分两种情况:
-
保持子类的泛型化:
public TestServiceImpl<M, T> extends ServiceImpl<M, T> { @Override public void test(M, T) { // do something } }
-
子类不再泛型化
public TestServiceImpl extends ServiceImpl<String, Integer> { @Override public void test(String, Integer) { // do something } }
这样解释是不是清楚了很多!
拉丁的传说
TA贡献1789条经验 获得超8个赞
子类<M,N> extends 父类<M,N>
这和多继承有啥关系。。。
没什么关系
我只是想继承 ServiceImpl<TestMapper, Test> 还继承 父类
ServiceImpl<TestMapper, Test> 是别人写的,
但我想添加些方法,所以想自己写个父类,不知道怎么写了
波斯汪
TA贡献1811条经验 获得超4个赞
泛型继承的原则
继承泛型类时,必须对父类中的类型参数进行初始化。或者说父类中的泛型参数必须在子类中可以确定具体类型。
例如:有一个泛型类Parent<T>
,那么Son
类定义时有两种方式初始化父类型的类型参数:
1 用具体类型初始化:
public class Son extends Parent<String>{}
2 用子类中的泛型类型初始化父类:
public class Son<T> extends Parent<T>{}
添加回答
举报
0/150
提交
取消