【发布时间】:2012-03-11 20:58:00
【问题描述】:
static 块内的初始化有什么区别:
public class staticTest {
static String s;
static int n;
static double d;
static {
s = "I'm static";
n = 500;
d = 4000.0001;
}
...
以及单独的静态初始化:
public class staticTest {
static String s = "I'm static";
static int n = 500;
static double d = 4000.0001;
....
【问题讨论】:
-
您只在静态初始化块中使用赋值,所以当然可以使用静态变量赋值来完成。如果您需要执行非赋值语句,您是否尝试过看看会发生什么?
-
是加载类或者加载原生库的好地方。
-
请注意,应避免使用静态变量,因此静态初始化块通常不是一个好主意。如果您发现自己经常使用它们,那么可能会遇到麻烦。
标签: java static-initialization