关于Java的一个问题。对于程序的运行结果不理解,怎么会是这样的结果?

来源:百度知道 编辑:UC知道 时间:2024/05/22 05:02:09
class BaseClass
{
public BaseClass()
{
System.out.println("Now in BaseClass()");
init();
}

public void init()
{
System.out.println("Now in BaseClass.init()");
}
}

public class SuberClass extends BaseClass
{
public SuberClass()
{
System.out.println("Now in SuberClass");
}

public void init()
{
System.out.println("Now in SuberClass.init()");
}

public static void main(String args[])
{
System.out.println("*******************************");
System.out.println("创建BaseClass对象:");
new BaseClass();
System.out.println("创建SuberClass对象:");
new SuberClass();
System.out.println("*******************************");
}
}

SuberClass是继承BaseClass的,创建对象时。先初始化基类(即先调用基类的构造函数,再初始化子类)。初始化基类时,调用构造函数中的init()函数时,实际上时子类的init()。

//运行结果在哪里啊