java泛型继承_Java中泛型的继承

  • Post author:
  • Post category:java


最新在抽取公共方法的时候,遇到了需要使用泛型的情况,但是在搜索了一圈之后,发现大部分博客对于继承都说的不太清楚,所幸还有那么一两篇讲的清楚的,在这里自己标记下。

以我自己用到的代码举例,在父类中使用了泛型的声明,代码如下:

public abstract class AlarmRender {

/**

* @param serviceDataList serviceDataList

* @param renderParameter renderParameter

* @return list

*/

public abstract List renderServiceAlarm(List serviceDataList, AlarmRenderParameter renderParameter);

}

这一块大部分博客都写的大同小异,没有啥区别,但是在继承中有一点需要注意的,大部分博客都没有提到;

子类在继承有泛型的父类时有两种情况,1.继承时,子类继续保持泛型化;2.继承时,子类不再泛型化

子类保持泛型化这里不多讲,大部分博客都说了这种情况,我遇到的是需要子类不再泛型化,每个子类有自己的类型,使用时也很简单,将具体类型声明清楚即可,但是大部分博客没有讲清楚这两点,代码如下:

public class ObsAlarmRender extends AlarmRender {

@Override

public List renderServiceAlarm(List serviceDataList, AlarmRenderParameter renderParameter) {

//业务代码

}

}



版权声明:本文为weixin_39837105原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。