構造函數順序
阿新 • • 發佈:2017-06-04
this pri code 代碼 out 構造代碼塊 bsp java font
java類加載後執行順序:
靜態代碼塊 > 構造函數代碼塊 > 構造函數
而靜態代碼塊只執行一次,構造函數代碼塊和構造函數會隨對象new的次數變化
例子:
package com.test;
public class Student {
private String name;
private int age;
// 靜態代碼塊
static {
System.out.println("靜態代碼塊...");
}
// 構造函數代碼塊
{
System.out.println("構造函數代碼塊...");
}
// 默認構造函數
Student() {
System.out.println("默認構造函數...");
}
// 構造函數
Student(String name, int age) {
this.name = name;
this.age = age;
System.out.println("構造函數...");
}
public static void main(String[] args) {
new Student("zhangsan", 20);
new Student("zhangsan", 20);
}
}
打印結果:
靜態代碼塊...
構造函數代碼塊...
構造函數...
構造函數代碼塊...
構造函數...
每 new 一次對象,都會執行構造代碼塊和對應的構造函數,靜態代碼塊只是執行一次.
構造函數順序