青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

tbwshc

tbw

  C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
  95 Posts :: 8 Stories :: 3 Comments :: 0 Trackbacks

常用鏈接

留言簿(4)

我參與的團隊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

java對象的初始化

小冬(珠海)11:02:48
我們知道一個對象可以有靜態變量、變量、靜態初始化塊、初始化塊,當我們創建一個對象時,它是怎么初始化的呢?按什么順序初始化的呢?
 
  1. public class Test { 
  2.  
  3.      
  4.     // 靜態變量 
  5.     public static String staticField = "靜態變量"; // 變量 
  6.     public String field = "變量"
  7.     // 靜態初始化塊 
  8.     static { 
  9.         System.out.println(staticField); 
  10.         System.out.println("靜態初始化塊"); 
  11.     } 
  12.     // 初始化塊 
  13.     { 
  14.         System.out.println(field); 
  15.         System.out.println("初始化塊"); 
  16.     } 
  17.     // 構造器 
  18.     public Test() { 
  19.         System.out.println("構造器"); 
  20.     } 
  21.     public static void main(String[] args) { 
  22.         Test test = new Testb(); 
  23.  
  24.     } 
 
運行下代碼,輸出結果是:
靜態變量
靜態初始化塊
變量
初始化塊
構造器
 
 
由此可以看到,當new一個對象時,它并不是就是調構造方法,而是先初始化屬性變量,我們把變量的定義先后順序換下,再執行,會發現,靜態的是先于非靜態進行實始化的,那么對于靜態變量和靜態初始化塊之間、變量和初始化塊之間的先后順序又是怎樣呢?是否靜態變量總是先于靜態初始化塊,變量總是先于初始化塊就被初始化了呢?
我們先改下代碼:
 
  1. public class Test { 
  2.  
  3.     public static TestA ta = new TestA(); 
  4.     // 靜態變量 
  5.     public static String staticField = "靜態變量"; // 變量 
  6.     public String field = "變量"
  7.     // 靜態初始化塊 
  8.     static { 
  9.         System.out.println(staticField); 
  10.         System.out.println("靜態初始化塊"); 
  11.     } 
  12.     // 初始化塊 
  13.     { 
  14.         System.out.println(field); 
  15.         System.out.println("初始化塊"); 
  16.     } 
  17.     // 構造器 
  18.     public Test() { 
  19.         System.out.println("構造器"); 
  20.     } 
  21.     public static void main(String[] args) { 
  22.         Test test = new Test(); 
  23.  
  24.     } 
  25.  
  26. class TestA { 
  27.     public TestA() { 
  28.         System.out.println("Test--A"); 
  29.     } 
 輸出是:
Test--A
靜態變量
靜態初始化塊
變量
初始化塊
構造器
 
 
靜態變量:static TestA ta = new TestA()在靜態初始化塊前,所以先輸出Test--A
再換下位置,把static TestA ta = new TestA()放到在靜態初始化塊后,我們發現輸出是:
靜態變量
靜態初始化塊
Test--A
變量
初始化塊
構造器
 
 
由此可見這是取決于它們在類中出現的先后順序,同理可得:變量和初始化塊之間也如此,總結可得:初始化優先級是(靜態變量/靜態初始化塊)>(變量/初始化塊)>構造器。
 
 
那繼承關系時的初始化又是怎樣的呢?如下:
大家應該知道,初始化子類時會先初始化父類,再看代碼:
 
  1. public class Test extends Parent{ 
  2.     // 靜態變量 
  3.     public static String staticField = "子類靜態變量"; // 變量 
  4.     public String field = "子類變量"
  5.     // 靜態初始化塊 
  6.     static { 
  7.         System.out.println(staticField); 
  8.         System.out.println("子類靜態初始化塊"); 
  9.     } 
  10.     //public static TestA ta = new TestA(); 
  11.     // 初始化塊 
  12.     { 
  13.         System.out.println(field); 
  14.         System.out.println("子類初始化塊"); 
  15.     } 
  16.     // 構造器 
  17.     public Test() { 
  18.         System.out.println("子類構造器"); 
  19.     } 
  20.     public static void main(String[] args) { 
  21.         Test test = new Test(); 
  22.     } 
  23.  
  24. class Parent{ 
  25.  
  26.     public String field = "父類變量";// 變量 
  27.     public static String staticField = "父類靜態變量"; // 靜態變量 
  28.     // 靜態初始化塊 
  29.     static { 
  30.         System.out.println(staticField); 
  31.         System.out.println("父類靜態初始化塊"); 
  32.     } 
  33.     // 初始化塊 
  34.     { 
  35.         System.out.println(field); 
  36.         System.out.println("父類初始化塊"); 
  37.     } 
  38.     // 構造器 
  39.     public Parent() { 
  40.         System.out.println("父類構造器"); 
  41.     }    
剛才結果應該是:
父類靜態變量
父類靜態初始化塊
子類靜態變量
子類靜態初始化塊
父類變量
父類初始化塊
父類構造器
子類變量
子類初始化塊
子類構造器
 
從結果看到,并不是父類完全初始化完后再進行子類的初始化,子類的靜態變量和靜態初始化塊的初始化是在父類的變量、初始化塊和構造器初始化之前就完成了。
 
我們在main方法再創建一個對象,Test test2 = new Test();
大家就test2的初始化又如何?
 
為了好看,我們子類構造器里加多行代碼System.out.println("***********");
輸出結果:
父類靜態變量
父類靜態初始化塊
子類靜態變量
子類靜態初始化塊
父類變量
父類初始化塊
父類構造器
子類變量
子類初始化塊
子類構造器
***********
父類變量
父類初始化塊
父類構造器
子類變量
子類初始化塊
子類構造器
***********


發現什么了?
靜態變量和靜態代碼塊只加載一次 。
 
 
總結:
一、初始化優先級:
1、靜態變量/靜態初始化塊)>(變量/初始化塊)>構造器
2、父類>子類

二、靜態變量和靜態代碼塊只加載一次,因為它們是全局共享的
 
posted on 2012-07-28 12:45 tbwshc 閱讀(919) 評論(0)  編輯 收藏 引用
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            男女视频一区二区| 欧美一级视频免费在线观看| 欧美在线视频导航| 久久av资源网| 亚洲国产99| 欧美一区二区三区男人的天堂| 亚洲精品在线观看免费| 亚洲精品日韩激情在线电影 | 久久久久久久久伊人| 欧美激情va永久在线播放| 蜜臀91精品一区二区三区| 狠狠色综合色区| 久久激情一区| 亚洲国产精品激情在线观看 | 亚洲精品黄网在线观看| 欧美乱妇高清无乱码| 中文欧美日韩| 免费看精品久久片| 亚洲深夜福利视频| 狠狠爱成人网| 欧美日韩精品一区二区天天拍小说| 亚洲欧洲在线看| 老司机午夜精品视频在线观看| 亚洲经典自拍| 国产精品自在欧美一区| 久久免费视频这里只有精品| 亚洲无吗在线| 亚洲精品国产视频| 久久精品免视看| 1000部国产精品成人观看| 国产精品久久久久久久久久妞妞 | 日韩一级裸体免费视频| 翔田千里一区二区| 亚洲性xxxx| 亚洲精品美女久久久久| 亚洲国产精品一区制服丝袜 | 中文国产一区| 国产精品网站在线播放| 欧美精彩视频一区二区三区| 亚洲天堂免费观看| 亚洲人成毛片在线播放女女| 欧美中文在线字幕| 欧美在线视频免费| 模特精品在线| 欧美成人精品高清在线播放| 久久综合九色| 亚洲电影网站| 亚洲精品护士| 亚洲电影中文字幕| 在线综合亚洲| 在线观看国产精品网站| 欧美激情亚洲精品| 久久久精品视频成人| 亚洲风情在线资源站| 欧美高清视频www夜色资源网| 久久久久久久网| 欧美在线短视频| 最新高清无码专区| 亚洲午夜视频| 国产日韩高清一区二区三区在线| 欧美一区二区三区的| 亚洲网站在线| 欧美中文字幕不卡| 日韩视频一区二区三区在线播放免费观看 | 欧美三级在线播放| 中文一区字幕| 亚洲精品视频一区二区三区| 欧美另类专区| 久久这里有精品视频| 亚洲第一区在线观看| 狠狠色丁香久久综合频道| 国产欧美日韩不卡免费| 国产精品一区二区你懂得| 欧美精品久久久久久久久久| 欧美了一区在线观看| 国产精品久久久999| 国产深夜精品福利| 亚洲第一综合天堂另类专| 国产精品稀缺呦系列在线| 一区二区免费在线观看| 久久久久国产精品一区三寸 | 亚洲日韩成人| 国产精品久久久久久模特 | 欧美成人精品1314www| 最新国产乱人伦偷精品免费网站| 欧美成人伊人久久综合网| 欧美一区二区三区在线| 91久久一区二区| 亚洲午夜激情免费视频| 欧美日韩国产丝袜另类| 欧美一区二区日韩| 欧美一级专区| 亚洲丝袜av一区| 亚洲美女在线看| 亚洲电影免费观看高清完整版在线观看 | 亚洲午夜免费福利视频| 亚洲日产国产精品| 欧美午夜一区二区| 久久久久久有精品国产| 久久久久久久波多野高潮日日| 亚洲免费视频一区二区| 欧美中文在线字幕| 久久久另类综合| 在线精品视频在线观看高清| 午夜久久电影网| 亚洲男人第一av网站| 国产精品五区| 美日韩丰满少妇在线观看| 欧美激情精品| 亚洲精品乱码久久久久久蜜桃91| 欧美高潮视频| 久久精品国产成人| 亚洲第一天堂av| 久久在线免费视频| 久久综合色婷婷| 韩日欧美一区二区三区| 亚洲视频免费| 久久国产夜色精品鲁鲁99| 欧美视频二区| 亚洲欧美亚洲| 美女视频网站黄色亚洲| 99国产精品久久久久久久| 在线免费观看成人网| 久热综合在线亚洲精品| 亚洲国产一区二区精品专区| 亚洲看片网站| 欧美另类videos死尸| 一本色道久久| 日韩亚洲一区二区| 性色一区二区三区| 亚洲精品老司机| 激情偷拍久久| 激情欧美一区二区| 国产精品久久久久久久电影| 亚洲欧美大片| 亚洲午夜精品一区二区三区他趣| 亚洲黄一区二区三区| 午夜精品福利在线| 最近中文字幕日韩精品| 国产一区二区精品久久91| 国产免费观看久久| 欧美日本在线播放| 猫咪成人在线观看| 久久免费视频一区| 亚洲欧美中文另类| 亚洲午夜av在线| 中文日韩在线视频| 亚洲电影自拍| 亚洲国产成人在线播放| 久久中文精品| 久久av一区二区三区| 亚洲午夜日本在线观看| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 久久综合精品国产一区二区三区| 亚洲一区二区三区免费视频| 欧美激情精品久久久| 亚洲网友自拍| 久久免费99精品久久久久久| 久久综合狠狠综合久久综合88| 欧美黄色成人网| 国产精品免费一区二区三区在线观看| 欧美日韩不卡在线| 亚洲国产欧美不卡在线观看| 亚洲一区国产| 欧美在线视频一区二区三区| 欧美成人一区二区三区| 亚洲一二三区在线观看| 久久一区二区三区四区| 国产自产精品| 久久不射网站| 最新高清无码专区| 久久欧美中文字幕| 国产麻豆精品theporn| 夜夜躁日日躁狠狠久久88av| 欧美激情亚洲自拍| 麻豆精品视频在线| 亚洲福利视频一区二区| 久久久精品日韩欧美| 欧美一区综合| 在线看国产一区| 欧美激情四色| 欧美日韩亚洲一区二| 在线观看欧美激情| 91久久久久久久久| 久久亚洲综合色一区二区三区| 欧美伦理91| 亚洲制服少妇| 一区二区三区偷拍| 欧美大片免费观看| 亚洲视频在线观看免费| 亚洲在线电影| 国产一区二区在线观看免费播放 | 亚洲在线中文字幕| 欧美精品少妇一区二区三区| 影音先锋中文字幕一区二区| 久久成人综合网| 亚洲精品欧洲精品| 日韩一级二级三级| 国产午夜精品一区二区三区视频 | 久久频这里精品99香蕉|