1.静态代码块:在虚拟机加载类的时候就会加载执行,而且只执行一次。
2.静态方法:需要在项目启动的时候就初始化,在不创建对象的情况下,这种代码是被动执行的(静态方法在类加载的时候就已经加载 可以用类名直接调用)。
3.非静态代码块,在创建对象的时候(即new一个对象的时候)执行,每次创建对象都会执行一次。
4.不实例化类,第一次用类调用静态方法,会执行静态代码块。超过一次(类已被加载),静态代码块不会执行。
原文:https://www.cnblogs.com/541g/p/12991210.html