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

一、load 和 initialize 

  1. load

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

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

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

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

  2. initialize

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

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

    • initialize方法与其他消息一样,如果某个类没有实现它,而其超类实现了它,那么就会运行超类的实现代码。

  3. 二者的调用时机

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

二、大撒发顺丰

 

posted @ 2017-05-07 13:21  来事啊  阅读(223)  评论(0编辑  收藏  举报