初学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();
}
}
输出结果
首先进入public类,调用C构造函数之前先调用父类A构造函数,调用了父类的构造函数之后初始化成员变量,调用B类的构造函数,
最后调用类C的成员函数。