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

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 閱讀(926) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美日韩成人一区二区| 欧美人交a欧美精品| 国产综合视频在线观看| 久久福利毛片| 久久精品2019中文字幕| 欧美中文字幕| 玉米视频成人免费看| 欧美激情精品久久久久久蜜臀 | 亚洲国产一区二区在线| 猫咪成人在线观看| 亚洲免费电影在线| 亚洲线精品一区二区三区八戒| 国产精品乱码一区二区三区| 久久精品国产成人| 欧美成人小视频| 亚洲欧美国产另类| 久久精品国产99国产精品| 亚洲黄色高清| 在线亚洲自拍| 在线日韩成人| 一区二区三区毛片| 韩国欧美一区| 夜久久久久久| 在线免费观看日韩欧美| 99国产精品| 樱桃国产成人精品视频| 日韩一区二区精品视频| 黄色精品免费| 亚洲一区二区三区在线视频| 在线日韩电影| 亚洲欧美日韩一区二区在线| 亚洲精品久久久久久久久久久| 9色porny自拍视频一区二区| 影音先锋亚洲视频| 中文一区二区在线观看| 亚洲国产另类久久精品| 亚洲免费中文| 亚洲图色在线| 欧美激情国产精品| 久久一区欧美| 国产一区二区三区av电影| 99精品久久久| 亚洲美女电影在线| 久久噜噜噜精品国产亚洲综合| 亚洲一区二区三区视频| 欧美电影打屁股sp| 欧美aⅴ99久久黑人专区| 国产欧美一区二区三区在线看蜜臀 | 欧美日韩亚洲免费| 欧美国产日韩视频| 伊人色综合久久天天| 午夜精品久久久久久久久久久久久 | 欧美日韩精品三区| 欧美国产一区二区| 在线观看日韩一区| 欧美中文字幕久久| 久久久av网站| 国产一区二区三区在线观看免费视频| 日韩亚洲精品视频| 一区二区三区久久网| 欧美国产欧美亚洲国产日韩mv天天看完整 | 欧美日韩国产区一| 亚洲国产成人精品女人久久久 | 亚洲欧洲一级| 亚洲黄色三级| 美女主播精品视频一二三四| 久久一区二区三区av| 好吊成人免视频| 久久国产福利| 欧美成人一区在线| 亚洲电影天堂av| 欧美成人69av| 亚洲欧洲日本在线| av成人福利| 欧美日韩综合一区| 中文在线一区| 久久国产精品久久久久久久久久 | 欧美精品系列| 一本久久综合亚洲鲁鲁| 香蕉免费一区二区三区在线观看| 国产精品色网| 久久国产精品一区二区| 另类亚洲自拍| 亚洲免费观看在线视频| 欧美色大人视频| 午夜精品久久久| 免费中文字幕日韩欧美| 亚洲免费观看在线视频| 国产精品porn| 欧美专区第一页| 欧美激情免费在线| 亚洲一区二区黄色| 国产一区二区三区自拍| 免费日韩av| 欧美中文字幕在线播放| 国模叶桐国产精品一区| 欧美国产视频一区二区| 亚洲午夜国产一区99re久久| 久久精品国产在热久久 | 欧美精品在线观看播放| 亚洲午夜精品一区二区| 久久一区中文字幕| 制服丝袜亚洲播放| 国产综合自拍| 欧美色区777第一页| 久久成人亚洲| 日韩特黄影片| 欧美成人精品不卡视频在线观看| 日韩午夜在线| 激情av一区二区| 欧美视频在线播放| 久久人91精品久久久久久不卡| 亚洲精品自在在线观看| 久久精品女人| 亚洲一区一卡| 日韩一区二区精品视频| 国内精品久久久久久| 欧美日韩一区二区三区四区五区 | 免费日韩成人| 欧美一区二区在线播放| 日韩亚洲欧美成人一区| 免费在线看一区| 欧美在线免费视频| 亚洲视频免费| 亚洲美女精品成人在线视频| 激情久久五月天| 国产嫩草影院久久久久 | 久久久久欧美| 午夜宅男久久久| 一区二区欧美激情| 91久久精品国产| 另类图片国产| 久久精品日韩欧美| 午夜在线一区二区| 国产精品99久久99久久久二8 | 国产精品一页| 国产精品国产成人国产三级| 欧美精品九九99久久| 免费欧美日韩| 免费在线欧美黄色| 久久不见久久见免费视频1| 一道本一区二区| 一区二区高清在线| 一本久久精品一区二区| 亚洲精品国产视频| 亚洲精品欧美日韩专区| 亚洲精品久久在线| 亚洲免费激情| 一区二区三区产品免费精品久久75 | 亚洲午夜性刺激影院| 亚洲视频一二区| 亚洲影视在线播放| 午夜免费电影一区在线观看| 亚洲免费中文| 久久不射中文字幕| 久久久99久久精品女同性| 久久婷婷色综合| 免费观看日韩av| 亚洲黑丝在线| 一区二区三区导航| 亚洲欧美日韩在线不卡| 久久国产欧美精品| 欧美不卡视频| 欧美午夜精品理论片a级按摩| 欧美视频免费在线观看| 国产美女精品视频| 欲色影视综合吧| 国产精品99久久久久久有的能看| 亚洲女人天堂成人av在线| 久久久精品欧美丰满| 巨乳诱惑日韩免费av| 亚洲高清久久| 亚洲一区二区少妇| 久久久久久午夜| 欧美日韩国产大片| 国产一区二区精品久久91| 亚洲国产另类 国产精品国产免费| 99国产精品久久久久久久成人热| 午夜精品国产更新| 麻豆freexxxx性91精品| 99亚洲视频| 久久精品在线视频| 欧美色视频在线| 在线 亚洲欧美在线综合一区| 一本一本久久a久久精品综合妖精| 欧美一区二区黄| 亚洲第一视频网站| 亚洲自拍高清| 欧美精品www| 狠狠色狠狠色综合日日tαg| 这里只有精品视频| 蜜桃久久av| 亚洲欧美在线看| 欧美日韩国产在线播放网站| 伊人久久大香线蕉av超碰演员| 亚洲综合国产| 91久久精品日日躁夜夜躁国产| 久久精品国产亚洲a| 国产精品精品视频| 99精品欧美一区二区蜜桃免费|