閱讀699 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Java 25天基礎-DAY 06-麵向對象-靜態代碼塊

/*
靜態代碼快
格式:
static

靜態代碼塊中的執行語句。

特點:隨著類的加載而執行,隻執行一次。優先於主函數執行。
用於給類進行初始化

/
/

class StaticCode
{
static
{
System.out.println("a");
}
}
*/
class StaticCodeDemo
{
static
{
System.out.println("b");
}

public static void main(String[] args) 
{
    //new StaticCode();
    //new StaticCode();
    System.out.println("over");

    new StaticCode2(4);
}
    static
{
    System.out.println("c");
}


//打印結果b,c,a over

// StaticCode s= null;//這個沒有具體的指向,沒有用到類中的內容,StaticCode不加載到內存。

}

class StaticCode2
{
int num = 9;
StaticCode2() //構造函數
{//這不打印是因為沒有創建過與它對應的對象
System.out.println("d");
}
static
{//靜態代碼塊,給類初始化。
System.out.println("e");//這裏不能訪問num,因為num是非靜態成員,當該代碼執行的時候,num還沒有存儲進內存。
}

{//構造代碼塊,給對象初始化的。
    System.out.println("f"+this.num);
}

StaticCode2(int x)//構造函數,給對應對象初始化
{
    System.out.println("g"+num);
}
//打印結果:e,f,g

}

最後更新:2017-10-13 23:04:33

  上一篇:go  Java 25天基礎-DAY 06-麵向對象-單例模式
  下一篇:go  Java 25天基礎-DAY 06-麵向對象-靜態應用---工具類