将参数传递给Java中的静态构造函数?

Ore*_*n A 8 java static constructor static-constructor

我正在尝试使用参数初始化静态类,然后在该类中运行更多静态代码.
我知道这个static块,但它似乎不能采取任何论点.
有没有办法将参数传递给静态构造函数?
如果没有,使用参数初始化Static类的推荐技术是什么?

编辑: 我理解的静态类是一个无法实例化的类(在c#中它们被称为静态类,如果Java对它们有不同的术语,很抱歉没有意识到它) - 它通过它的类名来访问而不是对象名称.

我想要实现的(非常简化的)是一个类,它接收字典作为String,解析它,并且方法操纵它就像GetRandomEntry.

这是我的代码的详细摘录:

public class QuestionsRepository {  
private static Map<String,String[]> easyDefinitions = new HashMap<String,String[]>();  

//...  

static 
    {  
    // need to receive and parse dictionary here    
    }  
//...   
Run Code Online (Sandbox Code Playgroud)

获取代码片段的相关部分绝非易事,希望我明智地选择(:
另一个可能相关的细节 - 我通常是#程序员.刚开始学习Java.

谢谢.

Jam*_*hin 13

我认为你需要根据一些输入初始化类的静态字段.您可以通过调用另一个类的静态方法以下列方式执行此操作:

class ClassToInitialize {
    static {
        staticField = ParamPassClass.getParameter();
    }

    private static String staticField;

    ClassToInitialize() {
        System.out.println("This is the parameter: " + staticField);
    }

}

class ParamPassClass {
    private static String parameter;
    static String getParameter() {
        return parameter;
    }

    static void setParameter(String parameter) {
        ParamPassClass.parameter = parameter;
    }
}

class Main {
    public static void main(String args[]) {
        ParamPassClass.setParameter("Test param");
        new ClassToInitialize();
    }
}
Run Code Online (Sandbox Code Playgroud)