日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java对象的初始化顺序_JAVA 对象的初始化顺序

發布時間:2025/3/20 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java对象的初始化顺序_JAVA 对象的初始化顺序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 這是個筆記.####

HelloParent.class

public class HelloParent {

helloY y = new helloY();

static {

System.out.println("parent static block");

}

public HelloParent() {

System.out.println("parent construct");

}

}

HelloChild.class

public class HelloChild extends HelloParent {

helloY y = new helloY();

static {

System.out.println("child static block");

}

public HelloChild() {

System.out.println("child construct");

}

public static void main(String[] args) {

new HelloChild ();

}

}

helloY.class

public class helloY {

helloY() {

System.out.println("this is Y");

}

}

這里我們先看運行的結果是什么:

parent static block

child static block

this is Y

parent construct

this is Y

child construct

2.我簡單說下這個過程,如果說得不對,請指出,謝謝.####

這里我們可以看到主函數 main 方法 在 HelloChild.class

所以我們運行 HelloChild.class

當執行new HelloChild()時,由于是 HelloChild 繼承了HelloParent 類 ,先執行父類的方法.

1.它首先去看父類里面有沒有靜態代碼塊,如果有,它先去執行父類里面靜態代碼塊里面的內容#####

2.再去執行子類(自己這個類)里面的靜態代碼塊#####

3.然后去看父類有沒有非靜態代碼塊,如果有就執行父類的非靜態代碼塊#####

4.接著執行父類的構造方法#####

5.緊接著它會去看子類有沒有非靜態代碼塊,如果有就執行子類的非靜態代碼塊#####

6.最后去執行子類的構造方法#####

以上是基于本例來講解的一個對象初始化過程,如果某些方法沒有,就不會去執行.

3.一些注意事項####

靜態代碼塊只執行一次

主函數 main 方法

public static void main(String[] args) {

new HelloChild ();

new HelloChild ();

}

這次運行的結果是

parent static block

child static block

this is Y

parent construct

this is Y

child construct

this is Y

parent construct

this is Y

child construct

你們也發現了.靜態代碼塊只會執行一次.

4.總結####

1.如果有些代碼必須在項目啟動的時候就執行,需要使用靜態代碼塊,這種代碼是主動執行的;#####

2.需要在項目啟動的時候就初始化,在不創建對象的情況下,其他程序來調用的時候,需要使用靜態方法,這種代碼是被動執行的.

3.靜態方法在類加載的時候 就已經加載 可以用類名直接調用 . 比如main方法就必須是靜態的 這是程序入口#####

4.兩者的區別就是:靜態代碼塊是自動執行的;靜態方法是被調用的時候才執行,而且不新建對象.#####

歡迎指正.

總結

以上是生活随笔為你收集整理的java对象的初始化顺序_JAVA 对象的初始化顺序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。