Java字段初始化

tez*_*tez -1 java

假设我B有一个类C类型成员作为字段的类.

现在我编写了一个构造函数,B以便它的默认构造函数不会被合成.

B's构造函数不会C显式初始化该类型字段.

Class B
{
  C obj_c;

  B()
  { }
}
Run Code Online (Sandbox Code Playgroud)

在C++默认构造函数obj_c中将被称为coz默认构造函数的非初始化成员将被隐式调用为Object类型成员.关于Java的问题?

如果构造函数没有在Java中初始化字段会发生什么?

rge*_*man 7

未初始化的成员变量会自动初始化false为布尔值,0数字和null对象引用,这是在obj_c这里.它被初始化为null.

编辑

它不是初始化它的构造函数null; 根据Java语言规范,如果不初始化它们,Java将初始化类变量和实例变量.