提前感谢您的帮助!
我有一些类需要包含相同的静态块,例如:
public class Class1 {
static {
changeState();
}
...
}
public class Class2 {
static {
changeState();
}
...
}
我目前有一个抽象类,只包含提到的静态块,其他类都扩展抽象类,如:
public abstract class WithChangeState {
static {
changeState();
}
}
public class Class1 extends WithChangeState {
...
}
public class Class2 extends WithChangeState {
...
}
这并不像正确的模式那样“感觉”。还有其他更优雅或正确的方法来实现这一目标吗?
答案 0 :(得分:0)
为了将来参考,我最终做的是:
// utility class with a static method
public abstract class ChangeState {
public static void initialize() {
changeState();
}
}
// access it using Classname
public class Class1 {
static {
ChangeState.initialize();
}
...
}
// access it using Classname
public class Class2 {
static {
ChangeState.initialize();
}
...
}