我有一个必须用参数构造的基类。在子类中,我需要在构造基类之前准备好这个参数,但在 Java 中,必须先调用 super。处理这种情况的最佳方法是什么(参见下面的简单示例)。
class BaseClass {
protected String preparedParam;
public BaseClass(String preparedParam) {
this.param = param;
}
}
class ChildClass {
public ChildClass (Map<String, Object> params) {
// need to work with params and prepare param for super constructor
super(param);
}
}
最佳答案
您可以创建一个static 方法来执行转换并调用它。
class ChildClass {
static String preprocessParams(Map<String, Object> params) {
...
return someString;
}
public BaseClass(Map<String, Object> params) {
super(preprocessParams(params));
}
}
关于java - 为 super 构造函数准备参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5389248/