public class InitOrder { { System.out.println("before---field"); //System.out.println("d1="+d1); d1 = 3; //System.out.println("d1="+d1); } static { System.out.println("before---static field"); //System.out.println("d2="+d2); d2 = 3; //System.out.println("d2="+d2); } final int a1 = 1; final int b1; final int c1; final int d1; //final int e1; static final int a2 = 1; //static final int b2; static final int c2; static final int d2; //static final int e2;