JAVA的继承问题

作者: shanyukang | 来源:发表于2016-10-22 23:21 被阅读30次

    publicclassHelloBextendsHelloA

    {

    publicHelloB()

    {

    }

    {

    System.out.println("I’m B class");

    }

    static

    {

    System.out.println("static B");

    }

    publicstaticvoidmain(String[] args)

    {

    newHelloB();

    }

    }

    classHelloA

    {

    publicHelloA()

    {

    }

    {

    System.out.println("I’m A class");

    }

    static

    {

    System.out.println("static A");

    }

    }

    其中涉及:静态初始化代码块、构造代码块、构造方法

    当涉及到继承时,按照如下顺序执行:

    1、执行父类的静态代码块

    static {

    System.out.println("static A");

    }

    输出:static A

    2、执行子类的静态代码块

    static {

    System.out.println("static B");

    }

    输出:static B

    3、执行父类的构造代码块

    {

    System.out.println("I’m A class");

    }

    输出:I'm A class

    4、执行父类的构造函数

    public HelloA() {

    }

    输出:无

    5、执行子类的构造代码块

    {

    System.out.println("I’m B class");

    }

    输出:I'm B class

    6、执行子类的构造函数

    public HelloB() {

    }

    输出:无

    那么,最后的输出为:

    static A

    static B

    I'm A class

    I'm B cla

    相关文章

      网友评论

        本文标题:JAVA的继承问题

        本文链接:https://www.haomeiwen.com/subject/jfwhuttx.html