与c++类似,如果用户没有编写默认构造函数或参数化构造函数,Java会自动创建默认构造函数,并且(与c++类似)默认构造函数会自动调用父类默认构造函数。但与c++不同的是,Java中的默认构造函数将成员数据变量初始化为默认值(数值初始化为0,布尔值初始化为false,引用初始化为null)。
例如, 以下程序的输出是
0
null
false
0
0.0
// Main.java
class Test {
int i;
Test t;
boolean b;
byte bt;
float ft;
}
public class Main {
public static void main(String args[]) {
Test t = new Test(); // default constructor is called.
System.out.println(t.i);
System.out.println(t.t);
System.out.println(t.b);
System.out.println(t.bt);
System.out.println(t.ft);
}
}
如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请写评论。
参考文献:
http://leepoint.net/notes-java/oop/constructors/constructor.html