静态变量可以使用私有静态方法或静态块进行初始化。两者之间有什么细微的区别吗?是否有不能使用静态方法初始化静态成员的情况?我发现后者更具可读性。
静态块初始化:
private static int NUM_ITER;
static {
// Operations
NUM_ITER = //val from above operations.
}
私有静态方法初始化:
private static int NUM_ITER = calculateNumIter();
// Some method comment on how we are calculating.
private static int calculateNumIter()
{
// Operations.
return //value_from_operations.
}
我更喜欢第二个,因为它更具可读性。有没有我必须首先使用的情况(静态块)?
初始化静态成员(最终成员和变量)的最佳编码约定/设计是什么?即使从这个线程我了解到私有静态方法比静态块有优势。
谢谢,