黑马程序员-IOS学习笔记 OC创建对象时 系统做了些什么

来源:互联网 发布:ubuntu os update 编辑:程序博客网 时间:2024/06/05 02:21

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流!-------


//创建对象
// Car * car = [Car new];
// [Car new]做了3件事情
// 1)相当于申请了内存空间
// 2) 给类中的每一个成功初始化值
// 3)返回新申请的空间的首地址

// 1、申请的内存空间在哪个区?
//new的时候  申请的空间在内存的堆区(程序动态分配的内存空间)
//new的时候 内存的布局是这样的
//如果实例变量基本数据类型,此时初始化为0
//如果    。。。 OC字符串类型             null

// 2、实例变量又保存在什么地方
// 堆区
//p(指针变量) 存放在栈区

// 3、对象方法保存在什么地方
//  代码区

// 4、为什么使用[p run];就可以调用方法?如何调用
//首先找p对应的堆区空间,然后找到 _isa指针,在找到_isa指向的代码区空间,然后到该空间找 方法

0 0
原创粉丝点击