Java类执行顺序
来源:互联网 发布:淘宝一个心要多少单 编辑:程序博客网 时间:2024/05/20 04:29
一、Java类执行顺序
1.如果父类有静态成员赋值或者静态初始化块,执行静态成员赋值和静态初始化块
2.如果类有静态成员赋值或者静态初始化块,执行静态成员赋值和静态初始化块
3.父类的成员赋予初值(原始类型的成员的值为规定值,例如int型为0,float型为0.0f,boolean型为false;对象类型的初始值为null)
4.如果构造方法中存在this()调用(可以是其它带参数的this()调用)则执行之,执行完毕后进入第7步继续执行,如果没有this调用则进行下一步。(这个有可能存在递归调用其它的构造方法)
5.执行显式的super()调用(可以是其它带参数的super()调用)或者隐式的super()调用(缺省构造方法),此步骤又进入一个父类的构造过程并一直上推至Object对象的构造。
6.执行类申明中的成员赋值和初始化块。
7.执行构造方法中的其它语句。
二、最终的简化顺序版本
父类的静态成员赋值和静态块
子类的静态成员和静态块
父类的构造方法
父类的成员赋值和初始化块
父类的构造方法中的其它语句
子类的成员赋值和初始化块
子类的构造方法中的其它语句
1.如果父类有静态成员赋值或者静态初始化块,执行静态成员赋值和静态初始化块
2.如果类有静态成员赋值或者静态初始化块,执行静态成员赋值和静态初始化块
3.父类的成员赋予初值(原始类型的成员的值为规定值,例如int型为0,float型为0.0f,boolean型为false;对象类型的初始值为null)
4.如果构造方法中存在this()调用(可以是其它带参数的this()调用)则执行之,执行完毕后进入第7步继续执行,如果没有this调用则进行下一步。(这个有可能存在递归调用其它的构造方法)
5.执行显式的super()调用(可以是其它带参数的super()调用)或者隐式的super()调用(缺省构造方法),此步骤又进入一个父类的构造过程并一直上推至Object对象的构造。
6.执行类申明中的成员赋值和初始化块。
7.执行构造方法中的其它语句。
二、最终的简化顺序版本
父类的静态成员赋值和静态块
子类的静态成员和静态块
父类的构造方法
父类的成员赋值和初始化块
父类的构造方法中的其它语句
子类的成员赋值和初始化块
子类的构造方法中的其它语句
阅读全文
0 0
- java类执行顺序
- java类执行顺序
- java类执行顺序
- java类执行顺序
- Java类执行顺序
- java 类执行顺序 +变量赋值顺序
- java类的执行顺序
- java类的执行顺序
- Java类的执行顺序
- Java类代码执行顺序
- Java类中的执行顺序
- java类中的执行顺序
- java类方法执行顺序
- java类代码执行顺序
- java, c#类执行顺序
- java类执行的顺序
- Java 类加载执行顺序
- java类的执行顺序、语句执行顺序详解
- 《剑指Offer》第五章
- MySql基本操作和使用
- List和Map的遍历操作
- javascript基础
- VR系列——Oculus Mobile SDK文档:二、移动SDK安装指南(一)
- Java类执行顺序
- maven配置 出现[error] maven execution terminated abnormally (exit code 1)的解决?
- JZOJ 7.9 B组第三题 treecut
- 微信小程序 支付功能
- c++类型转换运算符
- 第三章 Python基础
- Volley学习笔记
- 【专题】堆
- Android_手势