日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
對于Java類加載過程中的順序問題探究

以前記得static代碼塊貌似是Java類加載過程中優(yōu)先級最高的,但是最近幾天寫代碼發(fā)現(xiàn)不是這樣的,因為static變量的優(yōu)先級要比static代碼塊高得多,所以因此我犯了不少錯誤,下面以一個例子來說明一下一個類初始化為對象的時候的加載過程:

我們提供的服務(wù)有:成都做網(wǎng)站、成都網(wǎng)站設(shè)計、成都外貿(mào)網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、舟山ssl等。為上千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的舟山網(wǎng)站制作公司

 
 
 
  1. package com.bird.jdbc;  
  2.  
  3.  
  4. public class Test {  
  5.       
  6.       
  7.     private static A a = new A();  
  8.     private final static F f= new F();  
  9.     private B b = new B();  
  10.       
  11.     static{  
  12.         System.out.println("c");  
  13.     }  
  14.       
  15.     public Test(){  
  16.         System.out.println("Test");  
  17.     }  
  18.       
  19.     public static void main(String[] args){  
  20. //      Test t = new Test();  
  21.         try {  
  22.             Class.forName("com.bird.jdbc.Test");  
  23.         } catch (ClassNotFoundException e) {  
  24.             // TODO Auto-generated catch block  
  25.             e.printStackTrace();  
  26.         }  
  27.     }  
  28. }  
  29.  
  30. class A{  
  31.     public A(){  
  32.         System.out.println("A");  
  33.     }  
  34. }  
  35.  
  36. class B{  
  37.     public B(){  
  38.         System.out.println("B");  
  39.     }  
  40. }  
  41.  
  42.  
  43. class F{  
  44.     public F(){  
  45.         System.out.println("F");  
  46.     }  

大家可以看到,直接運行Test t = new test();這句話,運行結(jié)果為

 
 
 
  1. A  
  2. F  
  3. c  
  4. B  
  5. Test 

所以是先static變量,然后是static的代碼塊,然后才是普通變量,最后是構(gòu)造函數(shù)

如果是運行Class.forName()函數(shù)的話,運行結(jié)果為

 
 
 
  1. A  
  2. F  

還是這樣,先是static變量,然后才是static代碼塊,所以那種對于class.Forname加載類,只調(diào)用static代碼塊的誤區(qū)要克服,因為還有一個static代碼塊在等著你,呵呵,我得記錄下來以示警戒。

原文鏈接:http://blog.csdn.net/a352193394/article/details/7255277


分享標題:對于Java類加載過程中的順序問題探究
新聞來源:http://www.dlmjj.cn/article/djosphe.html