就是调用构造器的顺序问题嘛:
main里面调用的是Tester(int var),根据其中的this("Good Language"),调用Tester(String s),根据Tester(String s)的this(),调用Tester(),得到输出“Java Program”
根据System.out.println(s)(s的值是"Good Language");,得到输出“Good Language”
main里面调用的是Tester(int var),根据其中的this("Good Language"),调用Tester(String s),根据Tester(String s)的this(),调用Tester(),得到输出“Java Program”
根据System.out.println(s)(s的值是"Good Language");,得到输出“Good Language”
Tester(int var)
{
this("Good Language")
}this是指当前对象程序中需要一个Tester的实例你没有显式调用那个constructor程序会调用默认的constructor
如果“自己”不存在,就采用相应的构造器创建一个“自己”
呵呵
this("ggs");//调用类的有参数构造方法
this.var;//变量
this.method();//方法
{
int var;
Tester(double var)
{
this.var = (int)var;
} Tester(String s)
{
this(); //调用 Tester()
System.out.println(s);
} Tester(int var)
{
this("Good Language"); //调用 Tester(String)
}
Tester()
{
System.out.println("Java Program");
} public static void main(String args[])
{
Tester t=new Tester(20); //调用 Tester(int)
}
}
然后this("Good Language")时调用Tester(String s)
然后this()调用Tester()
就这样