java程序初始化顺序
生活随笔
收集整理的這篇文章主要介紹了
java程序初始化顺序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ?java程序初始化工作可以在許多不同的代碼塊(例如靜態代碼塊,構造函數)中完成,它們的執行順序如下:父類靜態變量,父類靜態代碼塊,子類靜態變量,子類靜態代碼塊,父類非靜態變量,父類非靜態代碼塊,父類構造函數,子類非靜態變量,子類非靜態代碼塊,子類構造函數。
?
public class A {static{System.out.println("static A");}{System.out.println("!static A");}A(){System.out.println("construct A");} }public class B extends A{static{System.out.println("static B");}B(){System.out.println("construct B");}{System.out.println("!static B");}public static void main(String[] args){System.out.println("==");new B();} }初始化順序如下:
static A
static B
==
!static A
construct A
!static B
construct B
?
總結
以上是生活随笔為你收集整理的java程序初始化顺序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解读main()方法中的String[]
- 下一篇: Java中的作用域有哪些