程序执行顺序
public class Test {
private String name="Jack";
private int age=2;
public Test( ) {
age=1000; //期望能到1000年
}
public static void main(String [] args ) {
Test t = new Test();
System.out.println(t.name + " " + t.age);
}
}
★运行的基本顺序(通过单步调试可观察):
(1):先运行到第7行,这是程序的入口
(2):然后运行到第8行,这里要new一个Test,就要调用Test的构造方法
(3):就运行到第4行
☆注意:此时,可能很多人觉得接下来就应该运行第5行了,错! ◆初始化一个类,必须先初始化它的属性◆。
(4):因此运行到第2行,然后是第3行(其实,在运行第2行之前,还要先执行完super()。 ◆构造一个类对象,必须先构造它的父类对象◆)
(5):属性初始化完过后,才回到构造方法,执行里面的代码,也就是第5行
(6):然后是第6行,表示new一个Test实例完成
(7):然后回到main方法中执行第9行
(8):然后是第10行
运行的结果是:Jack 1000
说明:这里只是说明一个基本的运行过程,没有考虑更多复杂的情况。