最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

通過實(shí)例解析Java類初始化和實(shí)例初始化

 更新時(shí)間:2020年11月09日 11:04:39   作者:羊37  
這篇文章主要介紹了通過實(shí)例解析Java類初始化和實(shí)例初始化,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

一、背景:

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

1.父類Father代碼

2.子類Son代碼

*初始化包括?

成員變量賦初值、代碼塊、構(gòu)造器

注意方法是被調(diào)用的,有人調(diào)用它它才執(zhí)行相應(yīng)的東西。

二、類初始化

在一開始,注釋掉main方法中的代碼,執(zhí)行結(jié)果如下。

類初始化:

1.創(chuàng)建實(shí)例需要先加載并初始化該類

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

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

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

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

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

三、實(shí)例初始化

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

此時(shí)將會(huì)先進(jìn)行類初始化,再進(jìn)行實(shí)例初始化,結(jié)果如下。

實(shí)例初始化:

1.實(shí)例初始化即是執(zhí)行init方法

2.有幾個(gè)構(gòu)造器就有幾個(gè)init方法,每次創(chuàng)建對(duì)象都會(huì)執(zhí)行相應(yīng)的init方法。

3.init方法由非靜態(tài)實(shí)例變量顯式賦值、非靜態(tài)代碼塊和相應(yīng)的構(gòu)造器組成。

4.非靜態(tài)實(shí)例變量賦值與非靜態(tài)代碼塊按上到下的順序執(zhí)行,構(gòu)造器在最后執(zhí)行。

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

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

非靜態(tài)方法前有一個(gè)默認(rèn)的對(duì)象this

this在構(gòu)造器(或者init方法)表示的是正在創(chuàng)建的對(duì)象。

這里是在創(chuàng)建Son類的對(duì)象,所以執(zhí)行的是重寫后的代碼。

四、總結(jié)

初始化操作包括成員變量、靜態(tài)/非靜態(tài)代碼塊和構(gòu)造器。

1.先類初始化,再實(shí)例初始化。

2.都是先父類再子類。

3.類初始化關(guān)鍵詞"靜態(tài)"。

4.實(shí)例初始化關(guān)鍵詞"非靜態(tài)",構(gòu)造器在最后。

5.注意構(gòu)造器和實(shí)例初始化init方法中的this對(duì)象。

五、補(bǔ)充

哪些方法不能被重寫?

  • final方法
  • 靜態(tài)方法
  • private等子類中不可見方法

多態(tài)性的體現(xiàn)?

  • 子類若重寫了父類的方法,則通過子類對(duì)象調(diào)用的一定是子類重寫過的方法
  • 非靜態(tài)方法默認(rèn)的調(diào)用對(duì)象是this
  • this對(duì)象在構(gòu)造器或者init方法中就是正在創(chuàng)建的對(duì)象

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • StringUtils中的isEmpty、isNotEmpty、isBlank和isNotBlank的區(qū)別詳解

    StringUtils中的isEmpty、isNotEmpty、isBlank和isNotBlank的區(qū)別詳解

    這篇文章主要介紹了StringUtils中的isEmpty、isNotEmpty、isBlank和isNotBlank的區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • 使用Java手搓一個(gè)控制臺(tái)進(jìn)度條打印工具

    使用Java手搓一個(gè)控制臺(tái)進(jìn)度條打印工具

    這篇文章主要為大家詳細(xì)介紹了如何使用Java手搓一個(gè)控制臺(tái)進(jìn)度條打印工具,文中的示例代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-04-04
  • Java結(jié)構(gòu)型設(shè)計(jì)模式中的適配器模式與橋接模式解析

    Java結(jié)構(gòu)型設(shè)計(jì)模式中的適配器模式與橋接模式解析

    這篇文章主要介紹了Java結(jié)構(gòu)型設(shè)計(jì)模式中的適配器模式與橋接模式,結(jié)構(gòu)型設(shè)計(jì)模式是從程序的結(jié)構(gòu)上解決模塊之間的耦合問題,需要的朋友可以參考下
    2016-02-02
  • springboot 使用上下文獲取bean

    springboot 使用上下文獲取bean

    這篇文章主要介紹了springboot 使用上下文獲取bean,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 一文詳解如何查看jdk版本及安裝路徑

    一文詳解如何查看jdk版本及安裝路徑

    這篇文章主要給大家介紹了關(guān)于如何查看jdk版本及安裝路徑的相關(guān)資料,JDK是Java語言的軟件開發(fā)工具包,主要用于移動(dòng)設(shè)備、嵌入式設(shè)備上的java應(yīng)用程序,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-10-10
  • RabbitMQ實(shí)現(xiàn)Work Queue工作隊(duì)列的示例詳解

    RabbitMQ實(shí)現(xiàn)Work Queue工作隊(duì)列的示例詳解

    工作隊(duì)列(又稱任務(wù)隊(duì)列)的主要思想是避免立即執(zhí)行資源密集型任務(wù),而不得不等待它完成。本篇文章將記錄和分享RabbitMQ工作隊(duì)列相關(guān)的知識(shí)點(diǎn),希望對(duì)大家有所幫助
    2023-01-01
  • 詳解spring cloud Feign使用中遇到的問題總結(jié)

    詳解spring cloud Feign使用中遇到的問題總結(jié)

    本篇文章主要介紹了詳解spring cloud Feign使用中遇到的問題總結(jié),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-01-01
  • Java swing實(shí)現(xiàn)酒店管理系統(tǒng)

    Java swing實(shí)現(xiàn)酒店管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Java swing實(shí)現(xiàn)酒店管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • Java中Date日期類的使用方法示例詳解

    Java中Date日期類的使用方法示例詳解

    這篇文章主要介紹了Java中Date日期類的使用方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • 如何獲取包下所有類中的注解的值(java工具類)

    如何獲取包下所有類中的注解的值(java工具類)

    這篇文章主要介紹了如何獲取包下所有類中的注解的值 (java工具類),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08

最新評(píng)論

岚皋县| 五寨县| 永登县| 邢台县| 天津市| 临泽县| 从江县| 广水市| 东至县| 洪泽县| 西乡县| 竹山县| 宜川县| 淅川县| 丰原市| 新干县| 普兰县| 花莲市| 甘南县| 象州县| 喀喇| 奉化市| 廉江市| 志丹县| 塘沽区| 南通市| 辽中县| 永丰县| 同江市| 太湖县| 桦甸市| 邯郸县| 安国市| 白银市| 白山市| 城市| 马尔康县| 扎兰屯市| 盐边县| 开封县| 同仁县|