【发布时间】:2014-05-27 21:08:25
【问题描述】:
我正在研究这些主题:
我不明白我们是否有构造函数,我们可以在其中放置一些逻辑,例如处理异常情况,为什么我们需要初始化块,我们还可以将哪些代码移至构造函数?
如果答案是在某些情况下我们需要在构造函数运行之前初始化一些资源,你能帮我举一些例子,这样我就可以完全看到图片了。
【问题讨论】:
-
我没有想到的例子,所以这是一个评论。如果您不想跨构造函数重复工作,则初始化块很好。如果你想在初始化静态变量时做更复杂的工作,静态初始化块是很好的。
-
@user3580294 你可以调用另一个构造函数来避免将逻辑放入初始化块中。
-
@LuiggiMendoza 但是在某些情况下,我们有
constructor(String)constructor(int)并且这个构造函数可能以不同的方式设置实例,所以它们不应该混合使用。 -
@Pshemo 在这种情况下使用构建器模式。
-
@LuiggiMendoza 我开始徘徊为什么我们实际上需要初始化块(不是静态的,它们在 enums 中很有用)
标签: java initialization block