长路漫漫,唯剑作伴--Life Circle

时间:2021-01-17 05:34:36

一、load 和 initialize 

  1. load

    • 在load中使用其他类是不安全的,因为其它类不一定加载完毕;

    • load方法不遵循继承规则,也就是说,如果某个类没有实现load方法,那么不管这个类的所有超类是否实现了这个方法,这个类都不会调用load

    • 如果类和分类都实现了load方法,两个类都会执行load,类先执行,分类后执行;

    • 实现了load方法的这个类,不管在程序运行中是否用到,程序在启动时都会把每个类中的load方法调用一次(这个和initialize不同)。长路漫漫,唯剑作伴--Life Circle

  2. initialize

    • 它是“惰性调用”,也就是说当程序用到这个类的时候才调用,而load是不管这个类是否被使用,程序加载时都会调用;

    • 在调用initialize的时候,系统处于常态,所以在此方法内可以调用任何方法;

    • initialize方法与其他消息一样,如果某个类没有实现它,而其超类实现了它,那么就会运行超类的实现代码。长路漫漫,唯剑作伴--Life Circle

  3. 二者的调用时机

    • 以main函数为分水岭,load在main函数之前,当应用程序启动时就会调用,initialize是在main函数之后。

二、大撒发顺丰