Java中建構函式、靜態程式碼塊、程式碼塊的執行順序
package com.wjj.test; /** * @author 作者 : xxx * @createTime 建立時間:2018年7月27日 下午3:26:47 * @discription 類說明: * @version 版本: */public class ConstructorTest { public static void main(String[] args) { Dog dog = new Dog(); } }class Animal { String name; int age; public Animal() { System.out.println("Animal 類"); } { System.out.println("Animal 程式碼塊"); } static { System.out.println("Animal static塊"); } }class Dog extends Animal { public Dog() { System.out.println("Dog 類"); } { System.out.println("Dog 程式碼塊"); } static { System.out.println("Dog static 塊"); } }
執行上面程式碼輸出結果:
Animal static塊
Dog static 塊
Animal 程式碼塊
Animal 類
Dog 程式碼塊
Dog 類
總結:
static程式碼塊、程式碼塊、建構函式的執行順序為:
父類static程式碼塊 > 子類static程式碼塊 > 父類程式碼塊 > 父類建構函式 > 子類程式碼塊 > 子類建構函式
(每建立一個物件,就會執行一次非靜態程式碼塊)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70019613/viewspace-2923058/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java中靜態程式碼塊、構造程式碼塊、建構函式、普通程式碼塊Java函式
- Java中構造方法,構造程式碼塊和靜態程式碼塊執行順序詳解Java構造方法
- Java普通程式碼塊,構造程式碼塊,靜態程式碼塊區別,執行順序的程式碼例項Java
- static程式碼塊、構造程式碼塊、建構函式以及Java類初始化順序C程式函式Java
- static變數,static程式碼塊,建構函式,程式碼塊等的載入順序變數C程式函式
- Java靜態程式碼塊Java
- 靜態程式碼塊
- 夯實Java基礎系列7:Java 程式碼塊和執行順序Java
- Java中,類與類,類中的程式碼執行順序Java
- java類內部程式碼執行順序Java
- 靜態程式碼塊類載入時並不會執行
- Java 中的程式碼塊Java
- Java中的程式碼塊Java
- 夯實Java基礎系列7:一文讀懂Java 程式碼塊和執行順序Java
- 建立派生類物件,建構函式的執行順序物件函式
- 嬰兒的出生為你解惑建構函式和構造程式碼塊函式
- 在繼承當中這些方法及程式碼塊執行順序是什麼樣的繼承
- java中的程式碼塊(初始化塊)Java
- Go包中程式碼執行順序Go
- java 程式碼塊Java
- 構造程式碼塊
- Java - 26 程式碼塊Java
- ConcurrentHashMap(一):常量,成員變數,靜態程式碼塊,內部類,spread函式,tabAt函式等詳解HashMap變數函式BAT
- 61行程式碼構建最簡單區塊鏈行程區塊鏈
- java學習回顧---執行緒和同步程式碼塊Java執行緒
- 【JavaScript】JS引擎中執行上下文如何順序執行程式碼JavaScriptJS行程
- js解惑-函式執行順序JS函式
- JavaScript程式碼執行順序和資料型別JavaScript資料型別
- 關於Static程式碼塊、匿名程式碼塊、構造器的小擴充C程式
- 【Java】【多執行緒】同步方法和同步程式碼塊、死鎖Java執行緒
- 程式碼塊
- 總結類初始化時的程式碼執行順序
- Ruby 中的閉包-程式碼塊
- [譯] Ruby 2.6 String的split 方法支援程式碼塊執行
- java靜態程式碼檢測-pmdJava
- 五:程式碼塊
- 通過7個函式解密區塊鏈(附程式碼)函式解密區塊鏈
- Java static變數、作用域、建構函式初始化順序Java變數函式