Java面试题:指出下面程序的运行结果。

作者: Arvin Chen 分类: Java面试题 发布时间: 2018-03-19 10:53
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。创建对象时构造器的调用顺序是:先初始化静态成员,然后调用父类构造器,再初始化非静态成员,最后调用自身构造器。

如果不能给出此题的正确答案,说明之前Java类加载机制还没有完全理解,赶紧再看看吧。

  •   本文标题:Java面试题:指出下面程序的运行结果。 - Break易站
    转载请保留页面地址:https://www.breakyizhan.com/javamianshiti/2417.html
    扫描二维码添加微信 
  • ,领取淘宝优惠券,淘宝购物更优惠。现在添加微信,还可以领取机械键盘优惠券!添加微信后,分享淘宝选中的机械键盘给淘宝机器人即可领取!
    支持我们,就用微信淘宝!

    发表笔记

    电子邮件地址不会被公开。 必填项已用*标注

    更多阅读