类的本质其实也是一个对象(类对象)
类对象
- 在程序运行时一直存在
- 是一种数据结构, 存储类的基本信息: 类大小, 类名称, 类的版本以及消息与方法的映射表等
- 所保存的信息在程序编译时确定, 在第一次使用该类时被加载到内存中
- 类对象代表类, class代表类对象, 类方法属于类对象
- 如果消息的接收者是类名, 则类名代表类对象
- 运行时, 所有类的实例对象都由类对象生成, 类对象会吧实例的isa的值修改成自己的地址, 每个实例的isa都指向该实例的类对象
- 从类对象里可以知道父类信息, 可以响应的方法等
- 类对象只能使用类方法, 不能用实例方法
类对象的获取
1) 通过类名来获取
Class c1 = [Car class];
2) 通过实例对象名来获取
Class c2 = [car class];
类对象的使用
1) 可以用来调用类方法
2) 可以用来实例化实例对象
学到后边越来越乱, 上课听不太明白, 课后没足够的时间总结, 真的快累觉不爱了 |
|