2013-05-15 16 views

回答

9

的類加載這樣

  • 首先,任何事情靜態的,在責令其被定義爲。
  • 然後,任何非靜態的。
  • 然後,構造函數
  • 然後,可以調用實例方法。

所以,要回答你的問題,靜態塊,然後onCreate方法。

public class Example { 

    public static int FIRST = 1; 

    static { 
     // second 
    } 

    public int third = 3; 

    { 
     // forth 
    } 

    public Examle(){ 
     // fifth 
    } 

    public void sixth(){ 
    } 
} 

http://javarevisited.blogspot.com/2012/07/when-class-loading-initialization-java-example.html

0

首先靜被調用,然後的onCreate被稱爲

1

以下方式來執行 ....

1:=靜態聲明。

2:=非靜態聲明。

3 = =構造函數執行。

4 = =方法執行。

1

首先執行靜態塊。

即使只訪問靜態字段而未實例化對象,也會執行靜態塊。在這種情況下,如果僅訪問靜態字段,則構造函數或類方法(onCreate)也不會執行。

所有靜態代碼在創建Class對象時執行。這個(Class)對象將靜態變量(類變量)物理地保存在內存中。靜態塊可以初始化爲Class對象。稍後,每個類實例都會訪問Class對象中的靜態變量。

構造函數也是一個內部的靜態方法,因爲它在對象實例化之前調用。

此鏈接進入更多的細節,如果你想進一步研究它: http://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html

相關問題