结论:执行的大致顺序如下,

  (1) 在一个不存在继承的类中:初始化static变量,执行static初始化块-->初始化普通成员变量(如果有赋值语句),执行普通初始化块-->构造方法

  (2)在一个存在继承的类中:初始化父类static成员变量,运行父类static初始化块-->初始化子类static成员变量,运行子类static初始化块-->初始化父类实例成员变量(如果有赋值语句),执行父类普通初始化块-->父类构造方法-->初始化子类实例成员变量(如果有赋值语句)及普通初始化块-->子类构造方法。

测试代码如下:(通过断点查看代码执行顺序)

public class Student {
public static int age=11;
public static String name="lucky";
public String address="天台";
static {
System.out.println("我是静态代码块");
}
public Student(){
System.out.println("我是构造函数");
}
public static void test(){
System.out.println(name);
System.out.println(age);
}
} public class Sequence {
public static void main(String[] args) {
//Student.test();
Student student=new Student();
}
}

转自:https://blog.csdn.net/yuxin6866/article/details/52245765

最新文章

  1. html5多出来的字自动隐藏并显示...
  2. EmptyResultDataAccessException
  3. JS-鼠标经过显示二级菜单
  4. docker image重命名
  5. mysqldump: Couldn't execute 'show table status '解决方法
  6. vue2.0 transition -- demo实践填坑
  7. SPOJ962 Intergalactic Map(最大流)
  8. C#抽象类及其方法的学习【转】
  9. Android最佳性能实践(二)——分析内存的使用情况
  10. HDU 4358 莫队算法+dfs序+离散化
  11. <未测>源码升级安装glibc和rpm升级glibc
  12. Cacti添加IO模板并监控磁盘IO
  13. 35,000FT大气压力的问题
  14. Mysql高级之索引
  15. [转]How to create an anonymous IDA PRO database (.IDB)
  16. Nginx正向代理让无法直接上网的机器通过代理上网
  17. R语言:利用caret包中的dummyVars函数进行虚拟变量处理
  18. Angular4 后台管理系统搭建(10) - 做一个通用的可跨域上传文件的组件
  19. python初识(二)
  20. Dynamics 365 Online-Security Updates On TLS 1.2

热门文章

  1. 部署和调优 1.1 nfs部署和优化-1
  2. 杀死tomcat进程
  3. openGL 预定义变量04
  4. 【转】Sublime Text2中的快捷键一览表(Sublime 键盘快捷键大全 )
  5. 剑指offer 38_统计数组中k出现的个数
  6. VC++ 6.0 快捷键
  7. iBase4J项目笔记
  8. java的编码问题详解
  9. 远程桌面--------ms12-020 漏洞复现 (死亡蓝屏)
  10. WordCount编码与测试