java類中的靜態成員和建構函式與子類中的順序

2021-05-22 18:08:28 字數 1314 閱讀 3920

主要測試父類與子類中靜態成員和靜態**塊與建構函式的啟動順序。編寫乙個基類:car,再編寫乙個子類,audicar,在方法中新增一些除錯資訊,**如下.

1.car類的**如下:

package com.test.classloader.order;

/*** 測試基類

* * @author rey

* */

public class car

/*** 建構函式

*/public car()

protected string m_scarname = null;

/*** 汽車啟動類

*/public void start()

/*** 停止

*/public void stop()

public static void dostart()

2.audi類的**如下:

/*** */

package com.test.classloader.order;

/*** @author rey

* */

public class audicar extends car

/*** 建構函式

*/public audicar()

/*** 汽車啟動類

*/public void start()

public static void dostop()

3.測試car與audicar類的啟動順序,testcarmain**如下:

/*** */

package com.test.classloader.order;

/*** @author rey**/

public class testcarmain

列印結果:

[car]中:靜態方法塊!

[audicar]中:靜態方法塊!

[car]中:建構函式!

[audicar]中:建構函式!

[audicar]中:start方法!

得出結論:

1.執行父類中的靜態成員和方法塊

2.執行子類中大的靜態成員和方法塊

3.執行父類構造方法

4.執行子類構造方法

5.執行父類中其他成員和方法

6.執行子類中的其他成員和方法,如果new的是子類物件,則直接執行子類的方法,不會再執行父類中的同名同引數的方法。

C 中的靜態類 靜態成員 靜態建構函式

關鍵字static修飾的類稱之為靜態類。靜態類不能例項化。static關鍵字可以防止程式設計師寫 例項化靜態類,也可以防止在靜態類的內部宣告任何例項成員。c 編譯器會自動把靜態類標記為sealed,這個關鍵字將類指定為不可擴充套件 不能從它派生出其他類 靜態類特性 僅包含靜態成員 無法例項化 屬於密...

靜態類 靜態成員 靜態建構函式

靜態類的主要特性 1 僅包含靜態成員。2 無法例項化。3 是密封的。4 不能包含例項建構函式。靜態成員 1 非靜態類可以包含靜態的方法 字段 屬性或事件 2 無論對乙個類建立多少個例項,它的靜態成員都只有乙個副本 3 靜態方法和屬性不能訪問其包含型別中的非靜態欄位和事件,並且不能訪問任何物件的例項變...

c 類中的靜態成員和非靜態成員

首先呢我們知道c 類中的成員分為成員變數和成員函式兩大類,如果再加上static給以區分的話那麼就會有以下四種 靜態成員變數,非靜態成員變數 靜態成員函式,非靜態成員函式 1 成員變數 我們知道類的靜態成員變數是屬於整個類的,而不是屬於某乙個物件的 不可能據為某個可惡的物件自己擁有,因為這是大家的 ...