static {
try {
StringBuffer sb = new StringBuffer();
sb.add("Kiran");
string s= "Vikram";
sb.add(s); }
catch (Exception e) {
logger.fatal("Exception", e);
}
}
答案 0 :(得分:1)
我建议:完全没有。
静态是良好的OO设计中的异常。静态初始化块更糟糕。
相反:了解如何撰写可测试的代码,例如通过here观看这些视频。然后更改您的代码以不执行此类操作。你需要嘲笑那些东西......蒸发。
特别是因为您示例中的代码没有任何副作用;因为在那个区块之外没有任何变量存在。可能你有一些"减少"那里的例子;实际上你的静态块正在做某种属性init。但即使是那种情况......你可能会找到更好的方法来做到这一点;而不是将它们放入静态块!