this(12)就是调用本对象的带一个参数的构造方法就是第二个构造函数,程序首先执行System.out.println("123");然后用不含参数的构造方法创建类对象,由于不含参数的构造方法调用了含一个参数的构造方法,所以先执行含一个参数的构造方法,然后执行System.out.println("bbb");——以前看过点Java,现在改学VC/C++了,第一次来贵论坛,见笑了![email protected]
调试欢乐多
但我认为System.out.println("123");应该是在执行main函数内容之后才会执行的
System.out.println("123");
}
的执行为什么总在最前?这个我也不明白
由于程序先执行Main,所以使用不带参数的构造函数,而this(12)是调用构造函数的方法——在调用构造函数时可以使用this调用另一个构造函数,但只能使用一次(昨晚看Thinking in java里说的,还没有实验过:p )
{
System.out.println("123");
}
和 int a;
一样只是一个命令行!
1 {
b()
7 {
8 this(12);
12 System.out.println("bbb");
13 }
b(int x)
9 {
10 System.out.println("ccc");
11 }
2 {
3 System.out.println("123");
4 }
public static void main(String[] args)
5 {
6 new b();
14 }
15 }