java创建对象 的初始化顺序
生活随笔
收集整理的這篇文章主要介紹了
java创建对象 的初始化顺序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
java創建對象 的初始化順序
1、初始化塊
初始化塊通常寫在類的構造方法之前,由花括號括起來,通常包含對成員屬性進行初始化的語句;
初始化塊分為instance初始化塊和static初始化塊,初始化塊在構造方法執行之前被執行;
static初始化塊不能訪問非static成員,也不能調用非static方法,并且只能在類加載時執行一次;
初始化塊通常用于提取多個構造方法中的公共代碼。
2、初始化塊的執行順序
(1)、在初次創建一個子類對象時,先加載父類,再加載子類
(2)、加載父類:
初始化父類的static屬性,賦默認值。
執行父類的static初始化塊
(3)、加載子類:
初始化子類的static屬性,賦默認值。
執行子類的static初始化塊。
(4)、創建父類對象:
初始化父類的非static屬性,賦默認值;
執行父類的instance初始化塊;
執行父類的構造方法;
(5)、創建子類的對象
初始化子類的static屬性,賦默認值;
執行子類的instance初始化塊;
執行子類的構造方法;
后再創建子類對象時,按4,5步驟執行。
?
轉載于:https://www.cnblogs.com/UalBlog/p/10542903.html
總結
以上是生活随笔為你收集整理的java创建对象 的初始化顺序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 爬虫苦训第一天,我的第一个爬虫!!!
- 下一篇: 数据结构第二章总结