概述
当一个对象被创建时候,构造方法用来初始化该对象,给对象的成员变量赋初始值。
无论你与否自定义构造方法,所有的类都有构造方法,因为Java自动提供了一个无参数构造方法,
一旦自己定义了构造方法,Java自动提供的默认无参数构造方法就会失效(自定义有参构造后仍需要无参构造要记得自己定义哦O(∩_∩)O)。组合快捷键
Alt+Insert
可以快速生成全参构造和无参构造。
初始化的顺序
class Window {
Window(int marker) {
System.out.println("Window(" + marker + ")");
}
}
class House {
Window w1 = new Window(1); // Before constructor
House() {
// Show that we're in the constructor:
System.out.println("House()");
w3 = new Window(33); // Reinitialize w3
}
Window w2 = new Window(2); // After constructor
void f() {
System.out.println("f()");
}
Window w3 = new Window(3); // At end
}
public class OrderOfInitialization {
public static void main(String[] args) {
House h = new House();
h.f(); // Shows that construction is done
}
}
//代码来源:On Java 8》
输出:
Window(1)
Window(2)
Window(3)
House()
Window(33)
f()
从输出结果可以看出,虽然几个 Window 对象位置不同,但都先于 House 类的构造方法执行。
印证了“构造方法用来初始化该对象,给对象的成员变量赋初始值”。(在House类中,Window对象就是变量,在使用之前,先初始化变量)
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 1401362462@qq.com