1. 程式人生 > >指出下面程式的執行結果:

指出下面程式的執行結果:

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。建立物件時構造器的呼叫順序是:先初始化靜態成員,然後呼叫父類構造器,再初始化非靜態成員,最後呼叫自身構造器。