亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

阿里巴巴面試題--Java對象初始化

2019-11-14 20:49:09
字體:
來源:轉載
供稿:網友
阿里巴巴面試題--java對象初始化

轉自 http://blog.csdn.net/ysjian_pingcx/article/details/19605335

Java對象初始化 這是一道阿里巴巴的關于Java對象初始化的面試題,堪稱經典,代碼很簡單(編寫格式做了些修改),但是需要面試者對Java中對象初始化有一個透徹的認識,那么通過這道面試題,對我有點啟發,所以希望在這里分享給大家,希望能給迷惘的初學者一起指引,下面我們直入主題,先看看代碼:
 1 public class InitializeDemo { 2     PRivate static int k = 1; 3     private static InitializeDemo t1 = new InitializeDemo("t1"); 4     private static InitializeDemo t2 = new InitializeDemo("t2"); 5     private static int i = print("i"); 6     private static int n = 99; 7     static { 8         print("靜態塊"); 9     }10     private int j = print("j");11     {12         print("構造塊");13     }14     public InitializeDemo(String str) {15         System.out.println((k++) + ":" + str + "   i=" + i + "    n=" + n);16         ++i;17         ++n;18     }19     public static int print(String str) {20         System.out.println((k++) + ":" + str + "   i=" + i + "    n=" + n);21         ++n;22         return ++i;23     }24     public static void main(String args[]) {25         new InitializeDemo("init");26     }27 }
做些小補充,這也是很多Java學習者最初都能接觸到的一些但是不是很理解的概念:核心理念:

1.靜態屬性和靜態代碼塊都是在類加載的時候初始化和執行,兩者的優先級別是一致的, 且高于非靜態成員,執行按照編碼順序。2.非靜態屬性和匿名構造器在所有的構造方法之前執行,兩者的優先級別一致,執行按照編碼順序。3.以上執行完畢后執行構造方法中的代碼。

讀者仔細揣摩上面三條句子,也就是Java對象初始化的順序,也就明白以上程序的輸出結果為什么如下:

1:j i=0 n=02:構造塊 i=1 n=13:t1 i=2 n=24:j i=3 n=35:構造塊 i=4 n=46:t2 i=5 n=57:i i=6 n=68:靜態塊 i=7 n=999:j i=8 n=10010:構造塊 i=9 n=10111:init i=10 n=102

如果還是沒有明白,就看下面詳解,一下詳解的順序就是按照上文的核心理念的順序來執行的(建議讀者把自己帶入JVN的世界里,跟著JVM一步一步往下面走):

1.運行main方法的時候,JVM會調用ClassLoader來加載InitializeDemo類,那么一起源于這次加載。2.上面有四個靜態屬性,所以會按順序逐一初始化這四個靜態屬性。3.private static int k = 1; 此時將k初始化為1。4.private static InitializeDemo t1 = new InitializeDemo("t1");創建InitializeDemo對象,  那么按照核心理念中的順序,先執行private int j = print("j");,打印出j,然后執行構造  塊,最后執行構造方法。5.private static InitializeDemo t2 = new InitializeDemo("t2");同步驟4。6.private static int i = print("i");打印i。7.private static int n = 99;直到這一步,n才被賦值為99,之前是從默認的0開始++的。8.靜態屬性初始化完畢,代碼走到靜態塊,打印出靜態塊,此時n=99。9.靜態屬性和靜態塊執行完畢,然后執行main方法中的代碼new InitializeDemo("init");10.main方法中創建對象,先初始化非靜態屬性,private int j = print("j");打印j,   然后執行構造塊,最后執行構造方法。
不知道我解說清楚了沒有,只要把握住核心理念,碰到在復雜的問題也都不會怕了。用一個公式概括一下Java對象初始化執行優先級別:(靜態屬性=靜態代碼塊)> (非靜態屬性 = 構造塊)> 構造方法總結一下核心理念:

1.靜態只在類加載的時候執行,且執行一次。2.非靜態只在實例化的時候執行,且每次實例化都執行。3.靜態在非靜態之前執行。4.靜態屬性和靜態塊的執行順序取決于編碼順序,對它們一視同仁。5.非靜態屬性和構造塊的執行順取決于編碼順序,對它們也一視同仁。6.最后執行構造方法。

上面的總結有點繞對吧,問題進一步簡化的話,就更好理解了:讀者將靜態代碼塊視為一個靜態屬性,將構造塊視為一個非靜態屬性,那么問題簡化到了這種路線“靜態屬性-->非靜態屬性-->構造方法“不積跬步無以至千里,祝愿大家學習進步,樂于分享~ ~
上一篇:Java IO操作

下一篇:Java線程池

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中国人与牲禽动交精品| 91chinesevideo永久地址| 色妞色视频一区二区三区四区| 久久国产一区二区三区| 欧美老少做受xxxx高潮| 91免费视频国产| 亚洲香蕉伊综合在人在线视看| 国产成人鲁鲁免费视频a| 日韩av在线直播| 亚洲精品mp4| 欧美精品在线观看| 欧美日韩国产页| 国产亚洲美女久久| 热99久久精品| 高清亚洲成在人网站天堂| 日韩美女在线播放| 日韩视频亚洲视频| 日本a级片电影一区二区| 亚洲精品国偷自产在线99热| 国产做受高潮69| 91国内揄拍国内精品对白| 一区二区三区在线播放欧美| 日本一欧美一欧美一亚洲视频| 欧美夫妻性生活xx| 国产日韩在线精品av| 国内精品视频久久| 亚洲电影免费观看高清| 国产精品高潮呻吟久久av无限| 日产精品久久久一区二区福利| 欧美一区二三区| 国产成人久久久| 色综合久久久888| 日韩av电影在线网| 一本一本久久a久久精品牛牛影视| 最近2019年日本中文免费字幕| 另类色图亚洲色图| 久久伊人精品一区二区三区| 97精品国产91久久久久久| 亚洲精品www| 欧美精品中文字幕一区| 精品国产一区二区三区久久久狼| 91在线视频精品| 日韩福利伦理影院免费| 日韩成人av网| 久久免费视频网站| 久久久电影免费观看完整版| 亚洲最新av网址| 亚洲国产日韩精品在线| 久久精品国产v日韩v亚洲| 国产亚洲精品一区二555| 亚洲最大av网站| 日韩精品视频在线| 成人午夜黄色影院| 欧美精品videosex极品1| 美女久久久久久久久久久| 欧美激情视频网| 久久久久久久久亚洲| 91高清视频免费| 亚洲日本中文字幕| 日韩麻豆第一页| 欧美精品一本久久男人的天堂| 日韩女优人人人人射在线视频| 97久久精品在线| 欧美天堂在线观看| 欧美最顶级丰满的aⅴ艳星| 日韩精品在线免费观看视频| 国产精品久久久久久久av大片| 亚洲精品aⅴ中文字幕乱码| 国产精品欧美激情| 国语自产偷拍精品视频偷| 在线亚洲午夜片av大片| 中日韩美女免费视频网址在线观看| 91久久在线播放| 午夜伦理精品一区| 日韩在线观看免费全集电视剧网站| 国产日韩精品电影| 在线视频欧美性高潮| 91网在线免费观看| 欧美疯狂做受xxxx高潮| 日韩欧美中文字幕在线播放| 亚洲欧美激情四射在线日| 成人激情视频在线播放| 欧洲精品在线视频| 深夜精品寂寞黄网站在线观看| 亚洲欧美日韩区| 91av视频在线| 91影院在线免费观看视频| 亚洲欧美日韩国产精品| 57pao国产成人免费| 中文字幕日韩精品有码视频| 美女视频久久黄| 国产视频观看一区| 欧美日韩免费网站| 色噜噜亚洲精品中文字幕| 色偷偷噜噜噜亚洲男人| 欧美激情视频在线免费观看 欧美视频免费一| 国产福利精品在线| 91香蕉电影院| 91亚洲精华国产精华| 久久91超碰青草是什么| 日韩在线观看免费| 久久精品99国产精品酒店日本| 亚洲已满18点击进入在线看片| 国内精品400部情侣激情| 国产精品偷伦免费视频观看的| 亚洲图中文字幕| 亚洲欧洲在线看| 久久精品精品电影网| 亚洲国产精品美女| 亚洲欧美日韩直播| 亚洲精品电影网| 国产精品va在线| 91精品国产综合久久香蕉的用户体验| 久久91精品国产91久久跳| 久久精品久久精品亚洲人| 亚洲国产日韩欧美在线动漫| 国产精品一区二区av影院萌芽| 欧美高清无遮挡| 国产精品久久久久久久久免费| 亚洲人成电影在线观看天堂色| 欧美精品性视频| 国产精品欧美一区二区| 国产成人精品久久二区二区91| 日韩欧中文字幕| 亚洲欧美日韩中文在线制服| 亚洲天堂成人在线视频| 日韩欧美在线第一页| 国产精品丝袜白浆摸在线| 日本sm极度另类视频| 国产91精品不卡视频| 亚洲福利在线看| 影音先锋欧美精品| 亚洲精品v欧美精品v日韩精品| 亚洲人成免费电影| 国产va免费精品高清在线观看| 日韩中文字幕国产精品| 日韩久久免费视频| 69视频在线免费观看| 韩国国内大量揄拍精品视频| 中文字幕亚洲一区在线观看| 国产一区二区三区久久精品| 国产欧美在线看| 日韩精品视频免费专区在线播放| 中文字幕免费精品一区高清| 精品久久久91| 久久九九全国免费精品观看| 国产亚洲欧美日韩美女| 都市激情亚洲色图| 91国偷自产一区二区三区的观看方式| 国产91精品视频在线观看| 成人免费视频在线观看超级碰| 按摩亚洲人久久| 不卡中文字幕av| 成人深夜直播免费观看| 精品国内自产拍在线观看| 91av国产在线| 国产精品美女www爽爽爽视频| 日韩视频在线免费| 国产成人一区三区| 亚洲午夜国产成人av电影男同| 亚洲一二在线观看| 九九热这里只有精品免费看| 奇米一区二区三区四区久久| 亚洲美女黄色片|