为什么有必要在Java类中添加静态块?

时间:2014-03-07 08:54:45

标签: java

为什么一个人在Java类中添加一个集团:

static {

   // ...
}

使用Web应用程序时,这会有不好的结果吗?

还有其他选择吗?

2 个答案:

答案 0 :(得分:3)

这称为static initialization block,它用于初始化类的静态字段。

  

使用Web应用程序时,这会有不好的结果吗?

不,有静电阻挡不会造成任何伤害,这取决于你。

  

还有其他选择吗?

您可以在声明它们的同一行初始化静态字段。

答案 1 :(得分:2)

  

为什么一个人在Java类中添加一个集团?

例如,我必须在我做其他任何事情之前初始化我的hashmap,所以我使用了静态块 例如:

public final static HashMap<String,Integer> messageTypes=new HashMap<>();

    static {//static initialization ..Loads before constructor 
        messageTypes.put("Report", REPORT_BOT);
        messageTypes.put("Scan", SCAN_BOT);
        messageTypes.put("Eat", EAT_BOT);
    }

除了Kugathasan Abimaran的回答之外,这只是一个例子。