根據程序運行結果,靜態初始化塊運行了,結果初始化塊沒運行,是不是可以說明初始化塊在類加載時不執行呢?
package?com.imooc;
//import?com.imooc.Telephone;
public?class?InitialTelephone?{
int?num1;//?聲明變量num1
int?num2;//?聲明變量num2
static?int?num3;//?生命靜態變量num3
public?InitialTelephone(){//?構造方法
num1?=?91;
System.out.println("通過構造方法為變量num1賦值");
}
{//?初始化塊
num2?=?74;
System.out.println("通過初始化塊為變量num2賦值");
}
static?{//?靜態初始化塊
num3?=?84;
System.out.println("通過靜態初始化塊為靜態變量num3賦值");
}
public?static?void?main(String[]?args)?{
//?TODO?Auto-generated?method?stub
}
}
程序運行結果:
通過靜態初始化塊為靜態變量num3賦值
2015-02-09
你的想法是對的.?
靜態初始化塊static{}在類加載就會被執行
非靜態初始化塊{} 得定義對象后才會執行 Telphone p = new Telphone();
2015-02-09
?那如何在一個java文件中,使用兩個同名的類呢? 如果要使用這兩個不同包的類,首先要導入包,比如導入import com.Demo;和import com.imooc.Demo;會在第二個包的位置提示錯誤,這該怎么解決呢?
2015-02-09
謝謝啊!