这个结果是如何得出的?(JAVA初学)

来源:百度知道 编辑:UC知道 时间:2024/05/27 16:36:00
public class Test extends TT{
public static void main (string args[]){
Test t=new Test("Tom.");
}
public Test(Sting s){
super(s); //(1)
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);
}
}
Q:1.(1)句中的super(s); 是什么?
2.如何将s应用到("I am"+s);中的?
3.为什么结果的顺序是:Hi!
I am Tom.
How are you?
如何判断哪个语句先输出?

1.(1)句中的super(s); 是什么?
super(s)时表示要使用父类的构造函数TT(String)
2.正式s作为参数传递给了父类的构造函数TT(String),tt使用这个s输出
3.super(s)-》就相当于使用了
TT(s)-》TT()+“i am”+s-》"hi i am" +S

super()是调用父类的构造函数,super(s)就是调用父类的可以接收参数s的构造函数,另外,this();调用了本类的空参数的构造函数,所以会先打印Hi,知道了吧?

看不懂。。。