我有一个抽象基类,它有以下私有变量
private Map<String, ?> options;
我希望每个扩展我的基类的其他类都实现以下方法
protected abstract void initOptions(Map<String,?> options)
我的问题是我不能选择除Map以外的任何其他类型来实现
@Override
protected void initOptions(Map options) throws InternalLoginException {
...
}
什么是正确的方法来处理这样的情况,我不能控制的类型的选项地图,但我想让initOptions方法的实现类知道,在地图中的键是字符串的类型和值可以是任何对象。
public abstract class BaseClass {
abstract void methodToOverRide(Map<String, ?> parameter);
static class SubClass extends BaseClass{
@Override void methodToOverRide(Map<String, ?> parameter) {
//do something?
}
}
}
你得到的结果应该如上所示。