1. 对象在内存中的存储.
1). 类加载.
2). 对象如何存储的呢?
HMPerson *p1 = [HMPerson new];
a. 从本质上来讲.HMPerson是我们自定义的1个数据类型.将状态和行为封装为1个整体.
b. p1是1个指针变量.并不是对象.
c. 真正创建对象的其实是[HMPerson new];
-> 在堆内存中申请1块合适大小的空间. 类的所有的属性+isa的指针大小.
-> 在这个空间根据类的模板创建对象.
将类的属性依次的 挨个的 一个不落的声明在这个对象中
还有1个属性叫做isa 是1个指针 指向代码区的类.
-> 初始化对象的属性.
属性的类型是基本数据类型 0
C指针 NULL
OC指针 nil
-> 将这个对象的地址返回.
p1是1个指针,指向了堆区的对象.
|
|