对象的内存存储细节

1.对象的存储细节

对象的内存存储细节_第1张图片
Paste_Image.png
  • 通过类创建对象
    • 开辟存储空间,通过new方法创建对象会在堆内存中开辟一块存储空间
    • 初始化所有属性
    • 返回指针类型
  • 创建对象的时候返回的地址其实就是类的第0个属性的地址;
  • 需要注意的是:类的第0个属性并不是我们编写的_age,而是一个叫做isa的属性,isa是一个指针,占8个字节

2.对象

  • 类也是一个对象,意味着Person也是一个对象
  • 平常口述所说的创建对象其实就是通过一个类对象 来 创建一个新的对象
  • 类对象是系统自动帮我们创建的,里面保存了当前对象的所有方法
  • 实例对象是程序员手动通过new来创建的,而实例对象中有一个isa指针就指向了创建它的那个类对象。


    对象的内存存储细节_第2张图片
    存储细节.png
  1. isa指针
对象的内存存储细节_第3张图片
Paste_Image.png

你可能感兴趣的:(对象的内存存储细节)