在调用超类的构造函数之前,是否无法执行初始化?

Luc*_*röm 2 java xml

我想要一个具有某些构造函数参数的某个超类的子类来加载包含我想要传递给超构造函数的信息的XML文件.这不可能实现吗?

Out*_*mer 14

如何使用工厂方法呢?也许是这样的:

private MyObject(ComplexData data)
{
    super(data);
}

public static MyObject createMyObject(String someParameter)
{
    ComplexData data = XMLParser.createData(someParameter);
    return new MyObject(data); 
}
Run Code Online (Sandbox Code Playgroud)


Jon*_*eet 8

您可以在super()调用中调用静态方法,例如

public Subclass(String filename)
{
    super(loadFile(filename));
}

private static byte[] loadFile(String filename)
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)