Static Initialization Blocks

前端 未结 14 1262
暗喜
暗喜 2020-11-22 01:56

As far as I understood the \"static initialization block\" is used to set values of static field if it cannot be done in one line.

But I do not understand why we ne

14条回答
  •  温柔的废话
    2020-11-22 02:43

    There are a few actual reasons that it is required to exist:

    1. initializing static final members whose initialization might throw an exception
    2. initializing static final members with calculated values

    People tend to use static {} blocks as a convenient way to initialize things that the class depends on within the runtime as well - such as ensuring that particular class is loaded (e.g., JDBC drivers). That can be done in other ways; however, the two things that I mention above can only be done with a construct like the static {} block.

提交回复
热议问题