/*
* 1,程序从 public Class Demo9 这里 进来 ,进入main()函数
* 2,读 System.out.println( ClassX.x + ClassY.y + ClassZ.z);这条语句
* 3 首先读ClassX.x:加载ClassX这个类和这个类的static的静态成员变量和 静态代码块
* 在这里 加载ClassX.x,因为x=1+ClassY.y;所以程序去找ClassY.y:加载ClassY这个
* 类和这个类的static的静态成员变量和 静态代码块 ,因为 y=2+ClassZ.z,所以所以程
* 序去找ClassZ.z:加载ClassZ这个类和这个类的static的静态成员变量和 静态代码块 ,
* 而z = 3+ClassX.x,所以 程序去找ClassX.x,这时候ClassX.x的值还是默认值,也就是
* 0!这点必须要理解!
* 因此,找到了z=3+0=3;y=2+z=5;x=1+5=6;
* x+y+z =14;
* 好好理解一下
* 将上面的打印语句中的变量调换顺序再加以分析
调换顺序后:
原理和上面的是一样的
请尝试自己分析一下,如果还不懂,请留言
希望能帮助到你。
加油!
*
*/ |