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

Java關(guān)于含有繼承類的成員初始化過程講解

 更新時間:2019年04月10日 15:45:23   作者:yangyongUestc  
今天小編就為大家分享一篇Java關(guān)于含有繼承類的成員初始化過程講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

參考資料《Java 編程思想》,關(guān)于含有基類的導(dǎo)出類,其成員的初始化過程是一個容易讓人困惑的地方,下面通過具體的實例進行講解,代碼取自《Java 編程思想》,代碼如下:

import static net.mindview.util.Print.*;
/**
 * All rights Reserved, Designed By www.tydic.com
 * 
 * @project: MyExerciseProject
 * @Title: Beetle.java
 * @Package:
 * @Description: TODO(Learn java)
 * @Author: Yang Xiaoyong
 * @Date: 2017年10月30日 下午4:22:19
 * @Version: V1.0
 * @Copyright: 2017 Inc. All rights reserved. 注意:本內(nèi)容僅限于學(xué)習(xí)交流使用,禁止外泄以及用于其他的商業(yè)目的
 */
public class Beetle extends Insect {
 private int k = printInit("Beetle.k Initialized");
 Beetle() {
 // TODO Auto-generated constructor stub
 print("k = " + k);
 print("j = " + j);
 }
 private static int x2 = printInit("static Beetle.x2 initialized");
 public static void main(String[] args) {
 print("Beetle constructor");
 Beetle beetle = new Beetle();
 }
}
class Insect {
 private int i = 9;
 protected int j;
 Insect() {
 // TODO Auto-generated constructor stub
 print("i = " + i + ". j = " + j);
 j = 39;
 }
 private static int x1 = printInit("static Insert.x1 initialized");
 static int printInit(String s) {
 print(s);
 return 47;
 }
}

程序輸出結(jié)果為:

則UML類圖為:

Beetle是導(dǎo)出類,Insect是基類,當程序試圖從main()函數(shù)入口點進入,下面是運行過程:

  • 1. 首先需要由加載器將編譯好的Beetle.class文件加載到JVM中。
  • 2. 通過extends 關(guān)鍵字識別基類Insect,加載Insect.class文件。

至此,完成類的加載過程。然后,可以進行對象的創(chuàng)建。

對程序輸出結(jié)果進行分析:因為靜態(tài)成員變量在類加載的時候進行初始化,而在運行main()函數(shù)之前,完成加載類的過程。所以在執(zhí)行main()函數(shù)之前,x1, x2已經(jīng)完成初始化過程,注意此時初始化過程是一個從基類“向外”擴散的,類似導(dǎo)出類的構(gòu)造器的構(gòu)建過程。輸出如下:

static Insert.x1 initialized
static Beetle.x2 initialized

之后,在創(chuàng)建Beetle的過程中,其基類的構(gòu)造器會被自動調(diào)用,所以首先執(zhí)行Inspect構(gòu)造器里面的內(nèi)容,完成print()函數(shù),并對j的變量賦值。最后,調(diào)用Beetle類自身的構(gòu)造器進行對象的創(chuàng)建,最終輸出符合分析。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

相關(guān)文章

最新評論

迁安市| 仪征市| 永平县| 林州市| 嘉义县| 平泉县| 格尔木市| 宁国市| 兰溪市| 洪泽县| 滨海县| 榆社县| 朔州市| 屏南县| 盐城市| 都安| 靖江市| 汉沽区| 广元市| 通榆县| 景东| 维西| 三门峡市| 黑河市| 大邑县| 桦南县| 灌阳县| 乌拉特中旗| 德令哈市| 钟祥市| 墨玉县| 湘潭市| 伊宁市| 榆树市| 贡嘎县| 巴彦淖尔市| 长兴县| 石渠县| 宁安市| 榕江县| 寻甸|