现在的位置: 首页 > 综合 > 正文

Java中构造函数调用顺序

2012年11月05日 ⁄ 综合 ⁄ 共 492字 ⁄ 字号 评论关闭

初学Java

和C++一样,Java中如果有继承时,先调用父类的构造函数再调用子类的构造函数, 如果某类的有类对象的成员,则在在调用

该类的构造函数之前先要调用类成员变量的构造函数。

eg.

class A

{

    A() //构造函数

    {

        System.out.println("class A Constructor!");

    }

}

class B

{

    B() //构造函数

    {

        System.out.println("class B Constructor!");

     }

}

public class C extends A    //类A是类C的父类

{

    B b = new B();   //类C中有B类对象作为成员变量

    C()

     {

        System.out.println("class C Constructor!");

     }

 

    public static void main(String args[])

    {

        C c = new C();

    }

}

输出结果

Java中构造函数调用顺序 - 大灰狼 - 大灰狼 的博客

首先进入public类,调用C构造函数之前先调用父类A构造函数,调用了父类的构造函数之后初始化成员变量,调用B类的构造函数,

最后调用类C的成员函数。

 

 

 

抱歉!评论已关闭.