构造函数与Curly Brackets(?)

时间:2011-11-28 12:10:29

标签: java eclipse

在搜索定义静态构造函数的方法时,我偶然发现了以下内容的使用:

class MyClass {
    { /* code for constructor-like (?) effect */ }
}

基本上,在我看来,直接在类中用大括号输入的代码与构造函数中的代码完全相同 - 除了在构造函数之前称为

这个的目的是什么,这个和标准构造函数之间还有其他区别吗?

提前致谢,

2 个答案:

答案 0 :(得分:8)

这些被称为instance initializers。详细信息可在another SO question中找到。

答案 1 :(得分:3)

带有大括号的块是一个实例初始化块。来自Oracle Java教程的This page有更多关于它的信息。

另见:How is an instance initializer different from a constructor?