【发布时间】:2017-02-02 00:19:43
【问题描述】:
提前感谢您的帮助!
我有几个类都需要包含相同的静态块,例如:
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 {
...
}
这“感觉”不像是正确的模式。还有其他更优雅或更正确的方法来实现这一点吗?
【问题讨论】:
-
创建一个包含静态方法的实用程序类,并使用 Classname 访问它。 Java API 中的一个很好的例子是docs.oracle.com/javase/8/docs/api/java/lang/Math.html 类。
-
你已经做到了。你想继承一个静态块,你继承了一个静态块。这有什么问题?
标签: java oop static-block