代码的执行顺序如下:
1、一个类的静态代码块、构造代码块、构造方法的执行流程为: 静态代码块 > 构造代码块 > 构造方法
2、静态的内容是随着类的加载而加载,静态代码块的内容会优先执行
3、子类初始化之前会先进行父类的初使化
1 package debug; 2 3 class fu{ 4 static { 5 system.out.println("fu静态"); 6 } 7 { 8 system.out.println("fu构造语句块"); 9 } 10 public fu() { 11 system.out.println("fu构造语句"); 12 } 13 } 14 15 class zi extends fu{ 16 static { 17 system.out.println("zi静态"); 18 } 19 20 { 21 system.out.println("zi构造代码块"); 22 } 23 24 public zi() { 25 system.out.println("zi构造语句"); 26 } 27 } 28 29 30 31 public class demo15 { 32 public static void main(string[] args) { 33 zi z = new zi(); 34 35 } 36 37 }
输出如下:
fu静态
zi静态
fu构造语句块
fu构造语句
zi构造代码块
zi构造语句
如对本文有疑问, 点击进行留言回复!!
解决idea中出现“illegal character U+200B” 问题
荐 为什么加了@Transactional注解,事务没有回滚?
Attribute ‘sklearn.linear_model._logistic.LogisticRegression.multi_class‘ must be explicitly set to
Java/Python实现 LeetCode剑指Offer 14-I.剪绳子(动态规划)
网友评论