程序运行结果与类初始化顺序分析
自增变量
public static void main(String[] args) { int i = 1; i = i++; int j = i++; int k = i + ++i * i++; System.out.println("i=" + i); System.out.println("j=" + j); System.out.println("k=" + k); }
代码运行结果显示,i=2,j=2,k=6。这一结果产生于Java变量自增操作的特殊性质,源于Python风格的指针运算在Java中的被禁止实现,导致i和j均增加1次,而k的处理方式更为复杂。
类初始化顺序
分析得出,类初始化顺序遵循如下原则: 1. 父类静态变量和静态代码块优先执行 2. 子类静态变量和静态代码块随后执行 3. 非静态变量和非静态代码块根据你得plit线 뒽在 4. 构造函数最后执行