国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

java 無參、有參構(gòu)造方法;靜態(tài)、非靜態(tài)代碼塊執(zhí)行順序

2019-11-14 09:16:18
字體:
供稿:網(wǎng)友

1. 基本概念

1.1.靜態(tài)代碼塊

靜態(tài)代碼塊

static { }

非靜態(tài)代碼塊

{ }

靜態(tài)代碼塊和非靜態(tài)代碼塊的異同點(diǎn)如下:

相同點(diǎn):都是JVM加載類時且在構(gòu)造函數(shù)執(zhí)行之前執(zhí)行,在類中都可以定義多個,一般在代碼塊中對一些static變量進(jìn)行賦值。 不同點(diǎn):靜態(tài)代碼塊在非靜態(tài)代碼塊之前執(zhí)行(靜態(tài)代碼塊 > 非靜態(tài)代碼塊)。靜態(tài)代碼塊只在第一次new時執(zhí)行一次,之后不再執(zhí)行。而非靜態(tài)代碼塊每new一次就執(zhí)行一次。

創(chuàng)建Son類,寫入 靜態(tài)代碼塊和非靜態(tài)代碼塊

public class Son extends Parent{ static { System.out.測試Test類

public class Test { public static void main(String[] args) { Son son = new Son(); System.out.println("*****"); Son sons = new Son(); System.out.println("*****"); }}

結(jié)果 這里寫圖片描述

1.2.構(gòu)造函數(shù)

子類繼承父類的時候會自動繼承父類的默認(rèn)構(gòu)造函數(shù)(也就是繼承那個無參數(shù)的構(gòu)造函數(shù))。而如果類里面已經(jīng)有一個帶有參數(shù)的構(gòu)造函數(shù)了,如果沒有寫那個默認(rèn)的不帶參數(shù)的構(gòu)造函數(shù)的話,繼承的時候子類就會報錯,因為系統(tǒng)不知道要不繼承哪個構(gòu)造函數(shù),必須明確的使用super()關(guān)鍵字來描述。所以我們一般為了避免這種錯誤的發(fā)生,在有帶有多個構(gòu)造函數(shù)的類里面都會寫一個不帶參數(shù)的構(gòu)造函數(shù)。

注:如果類無子類,則無需寫無參的構(gòu)造函數(shù)

1.3.實(shí)例

父類

public class Parent { public Parent(){ System.out.println("父類的無參"); } public Parent(String a){ System.out.println("父類的有參"); } static { System.out.println("父類的靜態(tài)代碼塊"); } { System.out.println("父類的非靜態(tài)代碼塊"); }}

子類

public Son(){ System.out.println("子類的無參"); } public Son(String A){ System.out.println("子類的有參"); } static { System.out.println("子類的靜態(tài)代碼塊"); } { System.out.println("子類的非靜態(tài)代碼塊"); }

測試類

public class Test { public static void main(String[] args) { Son son = new Son(); System.out.println("*****"); Son sons = new Son("yy"); System.out.println("*****"); }}

結(jié)果 這里寫圖片描述


說明: 靜態(tài)代碼塊是在類加載時自動執(zhí)行的,非靜態(tài)代碼塊在創(chuàng)建對象自動執(zhí)行的代碼,不創(chuàng)建對象不執(zhí)行該類的非靜態(tài)代碼塊。 順序: 靜態(tài)代碼塊 –>非靜態(tài)代碼塊 –>類構(gòu)造函數(shù)。

執(zhí)行順序: 父類的靜態(tài)代碼塊–>子類的靜態(tài)代碼塊 –>父類的非靜態(tài)代碼塊 –>父類的無參–>子類的非靜態(tài)代碼塊–>子類的無參


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 昆明市| 江孜县| 包头市| 峡江县| 广平县| 武功县| 玛沁县| 枣强县| 云龙县| 桃江县| 双鸭山市| 平阳县| 普安县| 霍林郭勒市| 遂溪县| 秀山| 进贤县| 夹江县| 盐池县| 黄大仙区| 涿州市| 迁西县| 运城市| 和静县| 巴青县| 张家港市| 屏南县| 石泉县| 屏南县| 牟定县| 铅山县| 丰原市| 集安市| 红原县| 都兰县| 达拉特旗| 镶黄旗| 江阴市| 治多县| 清远市| 克什克腾旗|