您的位置:首页 > 编程语言 > Java开发

java程序运行过程知多少

2013-03-03 14:35 260 查看
class X
{
Y b = new Y();
X()
{
System.out.print("X");
}
}
class Y
{
Y()
{
System.out.print("Y");
}
}
public class Z extends X
{
Y y = new Y();
Z()
{
System.out.print("Z");
}
public static void main(String[] args)
{
new Z();
}
}

输出结果YXYZ

1.由公共类的main方法开始执行new Z()
2.调用类Z的构造方法Z(){...},但并不执行方法体内的语句,
3.因为继承类X,所以执行类X的构造方法X(){...},但也不执行方法体内的语句
4.初始化成员变量Y b = new Y();
5.调用类Y的构造方法Y(){...}来初始化对象b
6.由于初始化类Y的成员变量int a = 9
7.执行构造方法Y(){...}中的语句System.out.print("Y");
8.执行类X的构造方法X(){...}的方法体内的语句System.out.print("X");
9.到这里类Z继承的类X初始化完毕,开始执行类Z本身的构造方法Z(){...},但是先初始化成员变量再执行构造器中的语句。
即先执行类Y的初始化在执行System.out.print("Z");
10.程序执行完毕
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: