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