亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

通過實例解析Java類初始化和實例初始化

瀏覽:23日期:2022-08-21 13:09:47

一、背景:

存在類Father和類Son,其中類Son繼承了Father類。

1.父類Father代碼

通過實例解析Java類初始化和實例初始化

2.子類Son代碼

通過實例解析Java類初始化和實例初始化

*初始化包括?

成員變量賦初值、代碼塊、構造器

注意方法是被調用的,有人調用它它才執行相應的東西。

二、類初始化

在一開始,注釋掉main方法中的代碼,執行結果如下。

通過實例解析Java類初始化和實例初始化

類初始化:

1.創建實例需要先加載并初始化該類

此處main方法所在的類需要先加載并初始化

2.子類初始化要先初始化其父類

3.類初始化即是執行clinit(ClassInit)方法

A.(靜態!)分為 靜態變量的顯式賦值操作 和 靜態代碼塊B.上到下的順序執行C.這個clinit方法只執行一次

將父類中的static代碼塊放到靜態變量之前,可以看到結果按順序改變。

通過實例解析Java類初始化和實例初始化

三、實例初始化

取消Son類中main方法的第一句注釋,如下圖所示。

通過實例解析Java類初始化和實例初始化

此時將會先進行類初始化,再進行實例初始化,結果如下。

通過實例解析Java類初始化和實例初始化

實例初始化:

1.實例初始化即是執行init方法

2.有幾個構造器就有幾個init方法,每次創建對象都會執行相應的init方法。

3.init方法由非靜態實例變量顯式賦值、非靜態代碼塊和相應的構造器組成。

4.非靜態實例變量賦值與非靜態代碼塊按上到下的順序執行,構造器在最后執行。

5.init方法的首行是super()或者帶參數的super(),即父類init方法。

父類中的test()方法輸出的是(4),為何父類中結果為932?

非靜態方法前有一個默認的對象this

this在構造器(或者init方法)表示的是正在創建的對象。

這里是在創建Son類的對象,所以執行的是重寫后的代碼。

四、總結

初始化操作包括成員變量、靜態/非靜態代碼塊和構造器。

1.先類初始化,再實例初始化。

2.都是先父類再子類。

3.類初始化關鍵詞'靜態'。

4.實例初始化關鍵詞'非靜態',構造器在最后。

5.注意構造器和實例初始化init方法中的this對象。

五、補充

哪些方法不能被重寫?

final方法 靜態方法 private等子類中不可見方法

多態性的體現?

子類若重寫了父類的方法,則通過子類對象調用的一定是子類重寫過的方法 非靜態方法默認的調用對象是this this對象在構造器或者init方法中就是正在創建的對象

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 欧美xxxx狂喷水喷水 | 亚洲国产综合第一精品小说 | 大尺度做爰视频吃奶www | 亚洲第一se情网站 | 欧美一级高清片欧美国产欧美 | 国产区精品视频 | 国产精品果冻麻豆精东天美 | 日韩一区二区三 | 天天怕夜夜怕狠狠怕 | 午夜水蜜桃视频在线观看 | 一道精品一区二区三区 | 免费看a级片 | 国产一级一片免费播放 | 久久综合久色欧美婷婷 | 国产在线精品福利91香蕉 | 久色成人| 精品美女在线 | 亚洲在线一区二区 | 欧美在线精品一区二区在线观看 | 成 人 黄 色 大 片 | 91在线精品中文字幕 | 国产在线视频自拍 | 亚洲巨乳在线 | 国产美女网址 | 91仓本c仔约高挑嫩模在线 | 一级毛片日韩a欧美视频 | 亚洲国产精品自在在线观看 | 免费在线观看日韩 | 黄色三级毛片网站 | 韩日在线视频 | 日本特黄网站 | 色偷偷女男人的天堂亚洲网 | 伊人久久精品午夜 | 日韩精品欧美在线 | 国产精品久久久久久久y | 亚洲精品入口一区二区乱 | 久操影视| 成人au免费视频影院 | 国产精品国产欧美综合一区 | 久久久亚洲国产精品主播 | 韩国一级毛片 |