static 与 non-static 的区别

相同点:都是在JVM加载类时且在构造方法之前执行,在类中都可以定义多个。

区别 :静态块只执行一次,而非静态块在每一次new或者加载的时候都会执行一次。

单个类内的执行顺序 :静态块 -> 非静态块 -> 构造方法

子类 extended 父类顺序 :父类静态块 -> 子类静态块 -> 父类非静态块 -> 父类构造方法 -> 子类非静态块 -> 子类构造方法

你可能感兴趣的:(java,区别,static块,non-static块)