導航:首頁 > 編程語言 > java靜態類構造函數

java靜態類構造函數

發布時間:2024-10-17 13:34:52

1. java 調用靜態方法和構造函數和靜態塊執行的先後順序

java中首先是靜態塊先執行,靜態方法,最後是構造函數。示例如下:

publicclassExA{
static{
System.out.println("父類--靜態代碼塊");
}

publicExA(){
System.out.println("父類--構造函數");
}

{
System.out.println("父類--非靜態代碼塊");
}

publicstaticvoidmain(String[]args){
newExB();
}
}

classExBextendsExA{
static{
System.out.println("子類--靜態代碼塊");
}
{
System.out.println("子類--非靜態代碼塊");
}

publicExB(){
System.out.println("子類--構造函數");
}
}

執行結果
=====
父類--靜態代碼塊
子類--靜態代碼塊
父類--非靜態代碼塊
父類--構造函數
子類--非靜態代碼塊
子類--構造函數

2. Java構造函數,構造代碼塊和靜態代碼塊的區別

  1. 構造函數:執行時間比構造代碼塊時間晚,也是在對象初始化的時候運行內。沒有返回容值,構造函數名稱和類名一致。

  2. 構造代碼塊:執行時間比靜態代碼塊晚,比構造函數早,和構造函數一樣,只在對象初始化的時候運行。沒有名字、參數和返回值。

  3. 靜態代碼塊:最早執行,類被載入內存時執行,只執行一次。沒有名字、參數和返回值,有關鍵字static。

靜態代碼塊只會在類被載入內存時載入一次,是最先執行的,然後是構造代碼塊,最後才是構造函數。構造代碼塊和構造函數都是在對象創建的時候執行,有幾個對象就會執行幾次。

3. java中靜態代碼塊和構造代碼塊的區別

直接在來類中定義且沒有加源static關鍵字的代碼塊稱為{}構造代碼塊。構造代碼塊在創建對象時被調用,每次創建對象都會被調用,並且構造代碼塊的執行次序優先於類構造函數。
靜態代碼塊:在java中使用static關鍵字聲明的代碼塊。靜態塊用於初始化類,為類的屬性初始化。每個靜態代碼塊只會執行一次。由於JVM在載入類時會執行靜態代碼塊,所以靜態代碼塊先於主方法執行。

注意:1 靜態代碼塊不能存在於任何方法體內。2 靜態代碼塊不能直接訪問靜態實例變數和實例方法,需要通過類的實例對象來訪問。

閱讀全文

與java靜態類構造函數相關的資料

熱點內容
ps入門必備文件 瀏覽:348
以前的相親網站怎麼沒有了 瀏覽:15
蘋果6耳機聽歌有滋滋聲 瀏覽:768
怎麼徹底刪除linux文件 瀏覽:379
編程中字體的顏色是什麼意思 瀏覽:534
網站關鍵詞多少個字元 瀏覽:917
匯川am系列用什麼編程 瀏覽:41
筆記本win10我的電腦在哪裡打開攝像頭 瀏覽:827
醫院單位基本工資去哪個app查詢 瀏覽:18
css源碼應該用什麼文件 瀏覽:915
編程ts是什麼意思呢 瀏覽:509
c盤cad佔用空間的文件 瀏覽:89
不銹鋼大小頭模具如何編程 瀏覽:972
什麼格式的配置文件比較主流 瀏覽:984
增加目錄word 瀏覽:5
提取不相鄰兩列數據如何做圖表 瀏覽:45
r9s支持的網路制式 瀏覽:633
什麼是提交事務的編程 瀏覽:237
win10打字卡住 瀏覽:774
linux普通用戶關機 瀏覽:114

友情鏈接