第三次上课问题总汇
兩對整數明明完全一樣,為何一個輸出true,一個輸出false?原因是因為。?
Integer在內部使用了一個私有的靜態類IntegerCache,此類內部封裝了一個Integer對象的cache數組來緩存Integer對象
IntegerCache內部的代碼,會看到它使用靜態初始化塊在cache數組中保存了[-128,127]區間內的一共256個Integer對象。
?????????當給Integer變量直接賦整數值時,如果這個數值位于[-128,127]內,JVM(Java?Virtual?Machine)就直接使用cache中緩存的Integer對象,否則,JVM會重新創建一個Integer對象。
?
二、有關類的繼承各個模塊執行順序
經試驗,總結如下:
如果初始化一個類時,(1)在定義類時,先執行它繼承的靜態初始化塊,之后執行自己的靜態初始化快(2)接下來初始化數據按順序在每個類里先執行初始化塊,后執行其他語句(3)類的執行順序則是先父類后子類。
三、使用類的靜態字段和構造函數,我們可以跟蹤某個類所創建對象的個數。請寫一個類,在任何時候都可以向它查詢“你已經創建了多少個對象?
源代碼如下:
?
class?Jishulei{
public?static?int?jishu=0;
{
jishu++;
}
void?getjishu()
{
System.out.println(jishu);
}
}
public?class?Lianxi?{
public?static?void?main(String?args[])
{
Jishulei?a=new?Jishulei(),b=new?Jishulei(),c=new?Jishulei();
a.getjishu();
}
?
}
不論在何時,只需調用此類的任意對象的getjishu()即可查詢此類創建的對象個數
轉載于:https://www.cnblogs.com/hehejeson/articles/4887275.html
總結
- 上一篇: 国庆课堂小结
- 下一篇: 《大道至简》第四章内容总结