![]() |
1
66
它叫 double curly brace initialization .(编辑:链接已删除, archived here ) 这意味着您正在创建一个匿名子类,而双括号中的代码基本上是一个构造函数。它通常用于向集合中添加内容,因为Java的语法用于创建本质上的集合常量,这有点尴尬。 所以你可以这样做:
而不是:
实际上我不喜欢这样,我更喜欢这样做:
因此,在这种情况下,它没有多大意义,但是它确实有地图,比如说,没有一个方便的助手。 |
![]() |
2
11
“外部”大括号表示您正在创建匿名子类,第二个大括号是对象初始值设定项。初始值设定项在类的构造函数之前运行,但在任何构造函数之后运行
考虑这个类:
它可以改写为:
如果初始值设定项可以引发选中的异常,则所有构造函数都必须声明它们可以引发异常。 |
![]() |
3
4
您正在创建 anonymous class 并使用 class Instance initialize R成语,如下:
|
![]() |
4
1
如前所述, 双大括号初始化 是正确的。 它使用一种特定的技术 初始化实例成员 在Java中。这是在类定义中定义的一种简略方法,类定义是一个共享的代码块,当任何类构造函数被激活时,它都将运行。 我正在将链接添加到 official Java documentations 描述它以获得更广泛的主题观点。 从 documentation :
|
![]() |
Tom Buck · c#程序在整数列表上冻结 7 年前 |
![]() |
Ran Lavi · 在c中初始化结构的指针++ 7 年前 |
![]() |
Js_zero · 在c++中实例化对象有几种方法,它们之间有什么区别 7 年前 |
|
jfernal · 节点。js在加载其他函数之前等待初始化变量 7 年前 |
|
Victor · 在javafx中运行时更改标签文本 7 年前 |
![]() |
blubb · 在Kotlin中是否有更惯用的方法来初始化此映射? 7 年前 |
![]() |
Bing Bang · 初始化包含字节数组的结构数组 7 年前 |