指出下面程式的執行結果:
阿新 • • 發佈:2018-11-20
package com.yunhe.TestClone; /** * @ProjectName Student2 * @ClassName Testss * @Description TODO * @Author jing * @Date 2018/11/15 14:43 * @Version 1.0 **/ class A { static { System.out.print("1"); } public A() { System.out.print("2"); } } class B extends A { static { System.out.print("a"); } public B() { System.out.print("b"); } } public class Hello { public static void main(String[] args) { A ab = new B(); ab = new B(); } }
答:執行結果:1a2b2b。建立物件時構造器的呼叫順序是:先初始化靜態成員,然後呼叫父類構造器,再初始化非靜態成員,最後呼叫自身構造器。