多个静态块的优点

时间:2013-09-12 07:07:24

标签: java static-block

class A{
    static{
      //initialize all things here
    }
}

这是我在代码中使用静态块的方式。但是我们也可以在类中保留多个静态

class A{
   static{
      //do something here
   }

   static{
      //do something else here
   }
}

我见过使用多个静态块的情况,但似乎无法找出原因?

我想如果是为了可读性,也可以使用以下方法

class A{
    static{
       someMethod();
       someOtherMethod();
    }
}

除了可读性之外,还有其他多个静态块的优点吗?

2 个答案:

答案 0 :(得分:0)

在你的情况下,如你所说,第二个更具可读性。 static blocks由他们下的订单执行。在您的情况下,没有其他好处/性能问题。

答案 1 :(得分:0)

不那么严肃的答案:您可以使用遍布整个类(开头,最后)的多个静态块来混淆初始化和访问字段和方法。通过这个你很好地巩固了没有其他人会触及你的班级,因为那些静态块的最轻微的改变将完全改变你班级的行为。 ; - )

有点严重:如果你必须使用这些静态块(其中我真的不是粉丝,正如你现在可能已经意识到的那样),我建议将它们放在顶部正如你的建议,这个班级,有充分的文件记录和一体化。根据长度,您可以考虑静态方法。但要把它们放在一起,为下一个(可怜的)灵魂认识它。