亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

初始化塊會在類加載時執行嗎?

根據程序運行結果,靜態初始化塊運行了,結果初始化塊沒運行,是不是可以說明初始化塊在類加載時不執行呢?
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賦值

正在回答

3 回答

你的想法是對的.?

靜態初始化塊static{}在類加載就會被執行

非靜態初始化塊{} 得定義對象后才會執行 Telphone p = new Telphone();

1 回復 有任何疑惑可以回復我~
#1

_天微涼_ 提問者

非常感謝!
2015-02-09 回復 有任何疑惑可以回復我~
#2

_天微涼_ 提問者

那如何在一個java文件中,使用兩個同名的類呢? 如果要使用這兩個不同包的類,首先要導入包,比如導入import com.Demo;和import com.imooc.Demo;會在第二個包的位置提示錯誤,這該怎么解決呢?
2015-02-09 回復 有任何疑惑可以回復我~

?那如何在一個java文件中,使用兩個同名的類呢? 如果要使用這兩個不同包的類,首先要導入包,比如導入import com.Demo;和import com.imooc.Demo;會在第二個包的位置提示錯誤,這該怎么解決呢?

0 回復 有任何疑惑可以回復我~
#1

Jy_z

一個java文件中可以有任意多個類,接口或是注解..但是只能有一個類是public的,而且這個類的名字要和文件同名,比如public類名為A則文件名就應當為A.java
2015-02-09 回復 有任何疑惑可以回復我~
#2

_天微涼_ 提問者 回復 Jy_z

不好意思,問題沒有問清楚,如果main方法在A包a類中,B包和C包各有一個類,且這兩個類同名,那有沒有辦法在a類中同時使用這兩個同名的類啊?
2015-02-09 回復 有任何疑惑可以回復我~
#3

Jy_z 回復 _天微涼_ 提問者

不好意思啊。我也才學到第三季,這個情況我也不太了解。我會關注你的問題,同樣希望有高手來解答。
2015-02-09 回復 有任何疑惑可以回復我~
#4

_天微涼_ 提問者 回復 Jy_z

哦,好的,謝謝。我也單獨地提出過這個問題,有人回復了一下,你可以看看 http://www.xianlaiwan.cn/qadetail/66141
2015-02-09 回復 有任何疑惑可以回復我~
查看1條回復

謝謝啊!

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

初始化塊會在類加載時執行嗎?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號