我是java的新手,我对对象初始化有疑问.
我目前所知道的:
构造函数用于初始化实例变量,如果我们没有显式地对构造函数进行编码,则提供默认构造函数,该构造函数自动为实例变量提供默认值,如0等int.
我的问题: 以下代码是如何工作的(我没有初始化实例变量)?
我尝试了如下基本代码:
public class hello{
int i; //Instance variable
public hello()
{
//Constructor is empty!!!
}
public static void main(String args[])
{
System.out.println(new hello().i);
}
}
Run Code Online (Sandbox Code Playgroud)
结果是0,但是怎么样?我没有在构造函数中做任何事情,因为我明确地编码了构造函数,不应该调用默认构造函数(我知道我的脑子里有一个错误的概念,所以请纠正我).
上面的代码是如何工作的,请清除我的疑问.谢谢!