class A{
static{
//initialize all things here
}
}
这是我在代码中使用静态块的方式。但是我们也可以在类中保留多个静态块
class A{
static{
//do something here
}
static{
//do something else here
}
}
我见过使用多个静态块的情况,但似乎无法找出原因?
我想如果是为了可读性,也可以使用以下方法
class A{
static{
someMethod();
someOtherMethod();
}
}
除了可读性之外,还有其他多个静态块的优点吗?
答案 0 :(得分:0)
在你的情况下,如你所说,第二个更具可读性。 static blocks由他们下的订单执行。在您的情况下,没有其他好处/性能问题。
答案 1 :(得分:0)
不那么严肃的答案:您可以使用遍布整个类(开头,最后)的多个静态块来混淆初始化和访问字段和方法。通过这个你很好地巩固了没有其他人会触及你的班级,因为那些静态块的最轻微的改变将完全改变你班级的行为。 ; - )
有点严重:如果你必须使用这些静态块(其中我真的不是粉丝,正如你现在可能已经意识到的那样),我建议将它们放在顶部正如你的建议,这个班级,有充分的文件记录和一体化。根据长度,您可以考虑静态方法。但要把它们放在一起,为下一个(可怜的)灵魂认识它。