繼承變數初始化順序

2021-06-28 07:06:12 字數 741 閱讀 8152

這個東西,我總是記不住,每次都會再去test一下,這次先把這次test記錄在這裡。

順序:父類定義時的賦值--父類建構函式--子類建構函式。

父類:

public class testextendsparent 

} protected long outlet_id;

protected string str1="1111111";//執行順序1;

protected string str2=str1;//執行順序2;

public long getoutlet_id()

public void setoutlet_id(long outlet_id)

public void test()

}

子類:

public class testextendschild extends testextendsparent

private long outlet_id;

public long getoutlet_id()

public void setoutlet_id(long outlet_id)

}

測試

public class testextends 

}

結果:

1111111***

1111111***

變數初始化順序

1 變數定義的先後順序決定初始化順序,即使變數定義散布在方法定義之間,他們仍舊會在方法被呼叫之前得到初始化,構造方法也是特殊的方法 2 執行順序 靜態塊,靜態變數,非靜態變數,構造方法 每次在建立物件的時候非靜態變數都會被初始化 靜態物件只會在類載入的時候被初始化一次 public class in...

繼承之初始化順序

1.繼承之初始化順序 1 初始化父類在初始化子類 2 先執行初始化物件中的屬性,在執行構造方法中的初始化 父類物件 屬性初始化 構造方法 更改屬性值 v 子類物件 屬性初始化 構造方法 更改屬性值 demo 父類 public class animal 子類 class 子類 extends 父類 ...

Java 變數初始化順序

tij 第四版在 初始化順序 部分講到,變數定義的先後順序決定了初始化的順序 我認為這句話是不準確的,當然也可能是翻譯者的問題。因為實際上,變數定義的先後順序與初始化順序無關。class cup public class cups cups public static void main strin...