Android代码块执行顺序分析总结
2017-12-19 10:09
453 查看
本文介绍了Android代码块执行顺序分析总结,分享给大家,具体如下:
子类、父类变量,代码块,以及构造方法的加载顺序,是我们在程序开发中时不时遇到的一个问题,也是比较容易混淆的。
基础准备:
- 变量: 成员变量(叫类变量、实例变量)和局部变量
- 方法: 成员方法和构造方法
- 代码块:普通代码块、构造代码块、静态代码块、同步代码块
测试的父类:
public class ParentClass { public static String name = "爸爸"; public int age = 40; public ParentClass(){ System.out.println("父类构造函数"); } //非静态代码块 { System.out.println("父类非静态代码块" + "---" + age); } //静态代码块 static{ System.out.println("父类静态代码块" + "---" + name); } }
测试的子类:
public class ChildrenClass extends ParentClass{ public static String name = "儿子"; public int age = 15; public ChildrenClass(){ System.out.println("子类构造函数"); } { System.out.println("子类非静态代码块" + "---" + age); } static { System.out.println("子类静态代码块" + "---" + name); } }
执行new ChildrenClass()结果:
结果分析:
父类静态代码块执行前,父类静态变量就已经执行了。
父类非静态代码块执行前,父类非静态变量就已经执行了。
上面结论子类同理。
代码块执行顺序总结:
父类的静态成员变量―->父类静态代码块―->子类静态成员变量―->子类静态代码块―>父类非静态变量―->父类非静态代码块―->父类构造方法―->子类非静态变量―->子类非静态代码块―->子类构造方法。
另外关于代码块的总结:
- 在类第一次调用时,静态代码块只执行这一次。
- 静态代码块和静态方法只能调用静态变量;
- 非静态代码块和非静态方法可以调用任何(静态+非静态)变量。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- Java和Android中,代码块、static静态代码块的执行顺序
- Android_UBOOT分析(二)执行顺序
- Java初始化顺序总结及其程序执行过程图- 静态变量、静态代码块、成员变量、构造函数
- 黑马程序员:Java基础总结----java各代码块函数执行顺序
- Java和Android中,代码块、static静态代码块的执行顺序
- 关于静态变量,静态代码块,实例变量,实例代码块,构造函数的执行顺序的总结
- 关于java中子类,父类中,静态代码块: staic{},动态代码块:{},构造方法,类属性,对象属性等执行顺序做个总结:
- Android代码逻辑执行顺序分析库AppMethodOrder
- 学习总结:java面试方法重写详解,静态代码块和构造方法执行顺序问题
- 通过分析SQL语句的执行计划优化SQL(总结)
- SQL语句执行顺序分析
- SQL语句执行顺序分析
- 通过分析SQL语句的执行计划优化SQL(总结)
- android系统开发小知识-启动脚本文件内部的执行顺序
- HAL层开发基础 && Android HAL module执行过程分析
- Android权限机制总结与常见权限不足问题分析
- [原创]如何确保JavaScript的执行顺序 – 之jQuery.html深度分析
- 通过分析SQL语句的执行计划优化SQL(总结)
- Android权限机制总结与常见权限不足问题分析
- Javascript执行顺序的总结