同级别的变量(static和普通变量)的执行顺序由代码执行顺序决定(从上到下也就是代码书写顺序)
package com.rumenz;
public class Rumenz {
    private Integer id=100;
    private  static String name="入门小站";
    {
        System.out.println("构造代码块。。。");
        System.out.println("变量 id:"+id);
    }
    static {
        System.out.println("静态变量name:"+name);
        System.out.println("静态代码块。。。");
    }
    public Rumenz() {
        System.out.println("构造方法。。。。");
    }
    public static void main(String[] args) {
        Rumenz r=new Rumenz();
    }
} 
 静态变量name:入门小站 静态代码块。。。 构造代码块。。。 变量 id:100 构造函数。。。。
静态变量name:入门小站 静态代码块。。。
public Rumenz() {
        System.out.println("构造方法。。。。");
} 
 {
    System.out.println("构造代码块。。。");
} 
 static {
    System.out.println("静态代码块。。。");
} 
  原文: https://rumenz.com/rumenbiji/ constructor-static-code-block.html