1 回答
TA贡献1810条经验 获得超4个赞
将通用参数 T 添加到 ParentClass 并在映射定义中使用它。现在,任何扩展 ParentClass 的类都必须指定映射值的类型。
import java.util.Map;
public abstract class ParentClass<T> {
public Map <String , T > map;
abstract void extract();
abstract void validate();
protected void setMap(Map <String , T > pMap)
{
this.map=pMap;
}
}
子类看起来像:
import java.util.HashMap;
import java.util.Map;
public class ChildClassTypeA extends ParentClass<TypeA> {
@Override
void extract() {
Map<String,TypeA> myMap=new HashMap<>();
setMap(myMap);
}
@Override
void validate() {
}
}
现在你甚至可以让 ParentClass 实例化地图:
public abstract class ParentClass<T> {
public Map <String , T > map = new HashMap<>();
...
}
添加回答
举报