在搜索定义静态构造函数的方法时,我偶然发现了以下内容的使用:
class MyClass {
{ /* code for constructor-like (?) effect */ }
}
基本上,在我看来,直接在类中用大括号输入的代码与构造函数中的代码完全相同 - 除了在构造函数之前称为
这个的目的是什么,这个和标准构造函数之间还有其他区别吗?
提前致谢,
答案 0 :(得分:8)
这些被称为instance initializers。详细信息可在another SO question中找到。
答案 1 :(得分:3)
带有大括号的块是一个实例初始化块。来自Oracle Java教程的This page有更多关于它的信息。
另见:How is an instance initializer different from a constructor?