從一個例項看java,new一個物件時的初始化順序
阿新 • • 發佈:2018-12-26
例子如下:
package com.zhiru; class ADemo { private static int id; static { id = 0; System.out.println("id的值為" + id); } { System.out.println("進入例項初始化子句..."); } ADemo() { System.out.println("進入ADemo的建構函式--->" + ADemo.class); } } public class ClassDemo { public static void main(String[] args) { // TODO Auto-generated method stub new ADemo(); } }
輸出:
id的值為0
進入例項初始化子句...
進入ADemo的建構函式--->class com.zhiru.ADemo
從輸出可以看出java在new一個物件時的初始化順序是這樣的:
首先初始化靜態語句塊
然後是例項初始化子句
最後是類的構造器。