JAVA new对象过程

向右看齐 2022-04-25 06:02 201阅读 0赞

我们都知道,创建对象是由 new关键字调用构造方法 返回类实例。先实例化对象,再把对象初始化。

例如 : Person jack = new Person();

这句话到底做了什么事情呢 ? 其实就是讲对象的初始化过程。

  • 1、 new 用到了Person.class,所以会先找到Person.class文件,并加载到内存中(用到类中的内容类就会被加载)
  • 2、执行该对象的static代码块(静态初始块)。(如果有的话,给Person.class类进行初始化)
  • 3、在堆内存中开辟空间,分配内存地址
  • 4、在堆内存中建立对象特有属性,并进行默认初始化
  • 5、对属性进行显示初始化(声明成员属性并赋值)
  • 6、执行普通初始块
  • 7、执行构造函数
  • 8、将内存地址赋值给栈内存中的jack变量

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4MjcwMTA2_size_16_color_FFFFFF_t_70

发表评论

表情:
评论列表 (有 0 条评论,201人围观)

还没有评论,来说两句吧...

相关阅读

    相关 13 New一个对象过程

    new一个对象时发生了什么? JVM遇到一条new指令时,首先会先查看对象所属的类有没有被加载到内存,如果没有的话,就会先通过类的全限定名来加载。加载并初始化类完成

    相关 JAVA new对象过程

    我们都知道,创建对象是由 new关键字调用构造方法 返回类实例。先实例化对象,再把对象初始化。 例如 : Person jack = new Person(); 这句话到底