相同点:都是在JVM加载类时且在构造方法之前执行,在类中都可以定义多个。
区别 :静态块只执行一次,而非静态块在每一次new或者加载的时候都会执行一次。
单个类内的执行顺序 :静态块 -> 非静态块 -> 构造方法
子类 extended 父类顺序 :父类静态块 -> 子类静态块 -> 父类非静态块 -> 父类构造方法 -> 子类非静态块 -> 子类构造方法
本文共 223 字,大约阅读时间需要 1 分钟。
相同点:都是在JVM加载类时且在构造方法之前执行,在类中都可以定义多个。
区别 :静态块只执行一次,而非静态块在每一次new或者加载的时候都会执行一次。
单个类内的执行顺序 :静态块 -> 非静态块 -> 构造方法
子类 extended 父类顺序 :父类静态块 -> 子类静态块 -> 父类非静态块 -> 父类构造方法 -> 子类非静态块 -> 子类构造方法
转载于:https://my.oschina.net/drl/blog/158855