子类继承父类的输出结果

public class A {
    static{
        System.out.println("static in class A");
    }

    public A(){
        System.out.println("class A");
    }
}
 
 
public class SubA extends A {
    static {
        System.out.println("static in class SubA");
    }

    public SubA() {
        super();
        System.out.println("class SubA");
    }

    public SubA(String sa) {
        System.out.println("class SubA " + sa);
    }
}
public class StaticTest {
    public static void main(String[] args) {
        SubA subA1 = new SubA("111111");
        SubA subA2 = new SubA("222222");
        SubA subA3 = new SubA("333333");
    }
}

输出结果:(static语句最先打印,并且只打印一次;先打印父类构造函数内容,后打印子类构造函数内容;调用了带参数的构造函数,就不会再调用默认无参构造函数

static in class A
static in class SubA
class A
class SubA 111111
class A
class SubA 222222
class A
class SubA 333333

猜你喜欢

转载自blog.csdn.net/sjmz30071360/article/details/80268503