对象的内存存储细节

1.对象的存储细节

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

2.对象

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


    存储细节.png
  1. isa指针
Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 1,767评论 0 9
  • OC基础总结 重新回过头看这些基础知识,对许多知识点都有新的认识,拥有坚实的基础才能更快的成长。 #improt ...
    xx_cc阅读 6,067评论 10 56
  • pragma mark 对象的内存存储细节 pragma mark 概念 pragma mark 代码
    liyuhong165阅读 558评论 0 0
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,135评论 6 13
  • 前尘如烟,来去汝苦,望尽天涯路,何处乃吾乡。曲水年年流觞,桃花处处留情意!暮光之色,垂垂怜矣!夏至已殁,冬至赘雪!...
    镜花水月_3cc9阅读 449评论 0 0