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。创建对象时构造器的调用顺序是:先初始化静态成员,然后调用父类构造器,再初始化非静态成员,最后调用自身构造器。