我对 Java 中的变量初始化感到困惑。据我了解,类变量默认初始化,而局部变量默认不初始化。但是,如果我使用 new 关键字在方法内创建一个数组,它会默认进行初始化。所有对象都是这样吗?无论是类变量还是局部变量,都使用new关键字初始化对象吗?
最佳答案
来自 Java Language Specification
Each class variable, instance variable, or array component is initialized with a default value when it is created (§15.9, §15.10):
对于byte类型,默认值为零,即值 (字节)0.
对于short类型,默认值为零,即(short)0的值。
对于int类型,默认值为零,即0。
对于long类型,默认值为零,即0L。
对于float类型,默认值为正零,即0.0f。
对于double类型,默认值为正零,即0.0d。
对于char类型,默认值为空字符,即'\u0000'。
对于boolean类型,默认值为false。
对于所有引用类型(§4.3),默认值为空
关于java - java中的默认初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15165238/