java代码块执行顺序
生活随笔
收集整理的這篇文章主要介紹了
java代码块执行顺序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
父類
public class Father {
public Father() {
System.out.println("父類構造PUBLIC father");
}
static {
System.out.println("父類靜態代碼塊static father");
}
{
System.out.println("父類普通代碼塊CLASS father");
}
}
子類
public class Son extends Father {
public Son() {
System.out.println("子類構造PUBLIC son");
}
static {
System.out.println("子類靜態代碼塊static son");
}
{
System.out.println("子類普通代碼塊CLASS son");
}
public static void main(String[] arg) {
new Son();
new Son();
}
}
運行結果
java代碼塊執行順序:遵循繼承關系(先父后子)
靜態代碼塊==>非靜態代碼塊==>構造方法
靜態代碼塊:類加載時即被執行,切只執行一次
非靜態代碼塊:new()實體化對象時被執行,先于構造執行(每實例一個對象執行一次)
構造方法:new()實體化對象時被執行,后于非靜態代碼塊執行(每實例一個對象執行一次)
總結
以上是生活随笔為你收集整理的java代码块执行顺序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BZOJ1797 [Ahoi2009]M
- 下一篇: CasperJS断言