静态块与私有静态方法,用于静态成员初始化
2022-09-04 22:56:43
静态变量可以使用私有静态方法或静态块进行初始化。两者之间有什么细微的区别吗?是否存在无法使用静态方法初始化静态成员的情况?我发现后者更具可读性。
静态块初始化:
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.
}
我更喜欢第二个,因为它更具可读性。是否有任何情况我必须首先使用(静态块)?
初始化静态成员(final和变量)的最佳编码约定/设计是什么?即使从这个线程中,我也了解到私有静态方法比静态块具有优势。
谢谢