1.类的本质:也是一个对象,是个Class类型的对象,简称 类对象
1》利用Class创建Person类对象
2》利用Person类对象创建Person类型的对象
例如:Person *p=[[Person alloc] init];
// 获取内中的类对象 : Class c=[p class];
// 获取内中的类对象 : Class c=[Person class];
2. +(void)load 加载方法 / +(void)initialize 初始化方法
1》当程序启动时,就会加一次项目中所有的类,类加载完之后,就会调用这个 +(void)load方法;
2》必须使用我们的类,当类第一次使用时,就会调用 +(void)initialize 方法。
3》先加载父类,再加载子类(先调用父类的+load方法,再调用子类的+load方法)
4》先调用父类的初始化方法,再调用子类的初始化方法(+initialize )
注意:(分类/本身类/子类 同时存在时:有分类就只会调用分类,分类会覆盖掉父类方法,再调用子类方法)
面试题: 我们用什么方法来监听类的调用?
答: +(void)initialize {
NSLog(@"调用了Person---initialize方法");
}