1. 程式人生 > >java 初始化總結

java 初始化總結

Java初始化的順序如下:
public class tian1 extends tian{
//4.初始化塊
{
System.out.print("1\n");
}
//6.子類構造器
tian1(){
System.out.print("2\n");
}
//2.子類靜態初始化塊
static{
System.out.print("3\n");
}
//5.初始化塊
{
System.out.print("4\n");
}
public static void main(String[] args) {
//即使newTest2例項,靜態塊初始化也進行
new tian1();
}
}
class tian {
//3.父類構造器
tian(){
System.out.print("5\n");
}
//1.父類靜態初始化塊
static{
System.out.print("6\n");
}
}

父類靜態初始化---->子類靜態初始化---->父類初始化塊---->父類構造方法---->子類初始化塊---->子類構造方法

原因:靜態塊是類載入的時候執行的,初始化塊是物件載入的時候執行的。當載入一個類時,如果它有父類,要先載入父類,然後是子類。

二:
基本資料型別:預設為0.
class tian1 extends tian {

public static void main(String []args){
String a[] = new String[15];
System.out.println(a[8]); //輸出null
String a[] = new int[15];
System.out.println(a[8]); //輸出0
}
}
引用資料型別:預設null。