写出下面程序的运行结果 。
    public class Test extends TT
    {
    public static void main(String args[ ])
    {
    Test t=new Test("Tom. ");
    }
    public Test(String s)
    {
    super(s);
    System. out.print("How are you?");
    }
    public Test( )
    {
    this("I am Jack.");
    }
    }
    class TT
    {
    public TT( )
    {
    System.out.print("Hi!");
    }
    public TT(String s)
    {
    this( );
    System.out.print("I am"+s);
    }
    }
 
【正确答案】Hi!I am Tom. How are you?
【答案解析】 程序的入口从Test的main方法开始,首先创建一个Test对象,此时会调用Test的有参数的构造方法,并将“Tom”传给s。在Test的构造方法中又通过super调用了父类TT的有参数的构造方法TT(String s)。在这个方法中又通过this( )调用了TT的无参数构造方法TT( ),此时打印输出“Hii”,之后接着打印输出“I am Tom.”,此时执行完父类TT的构造方法,重新返回super这个地方,接着向下执行输出“How are you?”