1

为什么在 Java 中为瞬态变量显示默认值为零?

它怎么知道值应该是0forintegernullfor String

4

5 回答 5

3

它知道这一点,因为它是这样指定的。默认值为int0,默认值为Stringnull。

于 2013-04-25T06:28:28.110 回答
1

来自文档

声明字段时并不总是需要赋值。已声明但未初始化的字段将由编译器设置为合理的默认值。一般来说,此默认值将为零或空,具体取决于数据类型。

于 2013-04-25T06:32:33.130 回答
0

它怎么知道整数的值应该是 0 而字符串的值应该是 null?

因为这是Java 语言规范中定义的默认值

于 2013-04-27T10:53:37.620 回答
0

int 的默认值为0 ,String 为 null

于 2013-04-25T06:29:43.733 回答
0

字段的默认值由 JLS 定义。使其瞬态暗示它不会被设置,因此具有默认值。

于 2013-04-25T06:31:08.633 回答