猿问

java 如何继承泛型

public class TestServiceImpl extends ServiceImpl<TestMapper, Test>
上面这句是直接继承泛型的写法。

我想要的是这样
父类<M, T> extends ServiceImpl<M, T>
public class TestServiceImpl extends 父类<TestMapper, Test>

想问下如何实现呢

其实我想多继承,所以加了个父类,但泛型这部分我就不会写了

慕无忌1623718
浏览 827回答 3
3回答

慕侠2389804

补充一下泛型类的继承问题,例如父类声明如下: 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 } } 这样解释是不是清楚了很多!

拉丁的传说

子类<M,N> extends 父类<M,N>这和多继承有啥关系。。。没什么关系 我只是想继承 ServiceImpl<TestMapper, Test> 还继承 父类 ServiceImpl<TestMapper, Test> 是别人写的,但我想添加些方法,所以想自己写个父类,不知道怎么写了

波斯汪

泛型继承的原则 继承泛型类时,必须对父类中的类型参数进行初始化。或者说父类中的泛型参数必须在子类中可以确定具体类型。 例如:有一个泛型类Parent<T>,那么Son类定义时有两种方式初始化父类型的类型参数: 1 用具体类型初始化: public class Son extends Parent<String>{} 2 用子类中的泛型类型初始化父类: public class Son<T> extends Parent<T>{}
随时随地看视频慕课网APP

相关分类

Java
我要回答