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)
| 归档时间: |
|
| 查看次数: |
13279 次 |
| 最近记录: |