java - java中的默认初始化

标签 java initialization

我对 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/

相关文章:

java - Axis2 中的后台任务 - Tomcat 堆栈

java - ATG 核心 - EJB 关系

ios - Swift 将文本分配给 xib 文件中的标签

c++ - 如何通过直接值初始化来避免最烦人的解析?

c - 负时间转换给出随机值

android - 在调用 onCreate 之前初始化变量是不好的做法吗?

java - 从 lambda 表达式中更新 AtomicBoolean

java - 如何指定随机数的范围?

c++ - 具有私有(private)构造函数和自身静态数组的类

java - Hibernate session.getTransaction().begin() 与 session.beginTransaction() 之间的区别