Java对象的创建过程

看到Java编程思想和深入Java虚拟机都有介绍对象的创建过程,在这里结合两本书的内容总结一下。

假设一个Book类,当我们通过new关键字进行对象创建Book mBook = new Book()的时候:

1、虚拟机JVM首先会在常量池中检查是否有Book类的符号引用,如果没有则需要查找类的路径,进行Book.class类文件的定位。

2、类加载器对Book.class进行加载。并进行静态变量、静态代码块、静态方法的初始化(静态成员只会在类加载时初始化一次)。

3、在堆(对象分配到堆上)上为Book对象分配足够的空间。

4、对分配给对象的内存空间进行清零,也就会自动为Book对象的基本类型初始化为默认值(数值为0,布尔值为false),对象引用为null.

5、进行book对象成员变量的自定义初始化,比如:private double price = 92.2;price成员变量先被初始化为默认值0.0,然后才执行我们自定义的初始化92.2。

6、最后执行构造器 Book();

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值