java对象构造过程
来源:互联网 发布:java jsonrpc 框架 编辑:程序博客网 时间:2024/05/21 08:57
Java对象构造过程
例如有个Child 类继承了Father类,当new Child()调用后执行过程如下
1. 类加载器加载Child类发现其有父类Father类,先加载Father类
2. 执行Father类的静态block初始化段以及静态成员变量初始化,顺序按照其在Class内申明的顺序
3. 加载Child类,执行Child类的静态block初始化段以及静态成员变量初始化,顺序按照其在Class内申明的顺序
4. 初始化Father对象,执行Father对象的成员变量初始化以及block初始化段,顺序按照其在Class内申明的顺序
5. 执行Father对象的构造函数
5. 初始化Child对象,执行Child对象的成员变量初始化以及block初始化段,顺序按照其在Class内申明的顺序
6. 执行Child对象的构造函数
代码段如下,github地址 https://github.com/hzllblzjily/entityconstruction
/** * */package com.hongbao.entitycontruction;/** * @author hzllb * * 2016年1月15日 */public class Father {static TestOutput testOutput = new TestOutput("Father static entity object");TestOutput testOutput2 = new TestOutput("Father object entity object");static{System.out.println("Father static block");}{System.out.println("Father object block");}public Father(){System.out.println("Father construction");}}/** * */package com.hongbao.entitycontruction;/** * @author hzllb * * 2016年1月15日 */public class Child extends Father{static TestOutput testOutput = new TestOutput("Child static entity object");TestOutput testOutput2 = new TestOutput("Child object entity object");static{System.out.println("Child static block");}{System.out.println("Child object block");}public Child(){super();System.out.println("Child construction");}}/** * */package com.hongbao.entitycontruction;/** * @author hzllb * * 2016年1月15日 */public class TestOutput {public TestOutput(String str){System.out.println(str);}}package com.hongbao.entitycontruction;/** * Hello world! * */public class App { public static void main( String[] args ) { Child child = new Child(); }}
最后的输出为
Father static entity object
Father static block
Child static entity object
Child static block
Father object entity object
Father object block
Father construction
Child object entity object
Child object block
Child construction
0 0
- java对象构造过程
- java对象构造过程
- Java之对象构造过程
- java 继承体系对象的构造过程
- PackageManagerService对象构造过程
- 通过实例学习Java对象的构造过程
- 从一个小程序看Java的对象构造过程
- 通过实例学习Java对象的构造过程
- Java内存结构、类的初始化、及对象构造过程
- 通过实例学习Java对象的构造过程
- 浅谈Scala对象构造过程
- Java的构造过程
- Java 子类构造对象
- java构造对象
- Java对象构造
- Java对象的构造过程---子类继承父类时(非)静态块及构造函数等的执行顺序
- Java知识点整理:第五章:类的声明,构造方法,方法,继承中的构造器,对象实例化过程
- JAVA构造类的过程
- Linux RPM命令
- Bulb Switcher
- C 关键字的秘密 下
- 怎样在iMindMap 9中进行换行
- 数据挖掘领域10大挑战性问题:
- java对象构造过程
- javascript json属性用双引号还是单引号
- Python入门教程
- 和菜鸟一起学linux总线驱动之i2c死锁问题
- Spark Streaming 的玫瑰与刺
- C# List 用法与示例
- JavaScript限制文本框输入字符数,区分中英文
- synchronized
- 订阅经济时代,传媒出版行业如何邮件营销?