将类的静态变量重新初始化为其原始值java

Pet*_*erg 4 java static initialization

我有一个具有相当数量的静态变量的类,并非所有静态变量都被初始化为默认值(例如,我有一个布尔值,我初始化为true,一个Set I初始化为一个新的Set(),等等).这个类有点像控制器,可以在其他类上运行.在对一个类进行操作之后,我想使用(如果存在的话)将所有静态变量重新初始化为原始值,这是java API的一部分,因此我不必创建"reinitializeClassVariables" ()"每当我对类中声明的静态变量进行任何更改时,其中包含大约十二个变量的方法需要更新.有任何想法吗?

aio*_*obe 7

在完成对类的操作之后,我想将其所有静态变量重新初始化为其原始值

严肃地说,你会更好地使用实例变量.然后,您可以使用创建类的新实例(或包含参数的类)new,并将所有变量初始化为其初始值.像这样的东西:

// All parameters (static if you so like)
static ControlParams controlParams = new ControlParams();

...

// Reset parameters
controlParams = new ControlParams();
Run Code Online (Sandbox Code Playgroud)


这是java API的一部分,所以我没有必要 reinitializeClassVariables()

不,API中没有这样的东西(实际上,它必须是我认为的语言规范的一部分).在您的用例中使用静态变量只是一个非常糟糕的选择.

  • 同意.绝对需要制作这些实例变量.这不像静态的东西那样有意义. (2认同)