Skip to content
目录概览

请说明一个对象的创建过程做了哪些事情?

Student s = new Student();

  1. 将Student.class 字节码文件加载到内存
  2. 在栈内存中,开辟一个空间存储 s变量,用来记录Student对象的引用
  3. 在堆内存中,开辟一个空间存储 new Student()对象的成员信息
  4. 加载类中静态成员
  5. 执行类中静态代码块
  6. 加载对象中普通成员
  7. 执行构造代码块
  8. 执行构造方法
  9. 将new Student()的地址赋值给 s 变量