java - 为 super 构造函数准备参数

标签 java constructor super

我有一个必须用参数构造的基类。在子类中,我需要在构造基类之前准备好这个参数,但在 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/

相关文章:

java - 创建类来验证用户登录和数据库连接

Java applets - 今天是一个错误的选择吗?

java - Java 中与构造函数相关的错误

java - 在构造函数中访问实例成员

java - 回复 : jdbc driver for MySQL cannot be found from WEB-INF/lib directory

java - 如何从另一个 JPanel/JFrame/etc 添加 String JList 元素?

c++ - 分段故障(核心已转储)-二维数组

.net - TransactionScopeOption - 必需或 RequiresNew

Python super 覆盖对象名称

java - 当子类中使用字 "super"时,字 super 强制代码做什么?