长路漫漫,唯剑作伴--Life Circle
一、load 和 initialize
- 
load- 
在load中使用其他类是不安全的,因为其它类不一定加载完毕; 
- 
load方法不遵循继承规则,也就是说,如果某个类没有实现load方法,那么不管这个类的所有超类是否实现了这个方法,这个类都不会调用load 
- 
如果类和分类都实现了load方法,两个类都会执行load,类先执行,分类后执行; 
- 
实现了load方法的这个类,不管在程序运行中是否用到,程序在启动时都会把每个类中的load方法调用一次(这个和initialize不同)。 ![]() 
 
- 
- 
initialize- 
它是“惰性调用”,也就是说当程序用到这个类的时候才调用,而load是不管这个类是否被使用,程序加载时都会调用; 
- 
在调用initialize的时候,系统处于常态,所以在此方法内可以调用任何方法; 
- 
initialize方法与其他消息一样,如果某个类没有实现它,而其超类实现了它,那么就会运行超类的实现代码。 ![]() 
 
- 
- 
二者的调用时机- 
以main函数为分水岭,load在main函数之前,当应用程序启动时就会调用,initialize是在main函数之后。 
 
- 
二、大撒发顺丰
 
                     
                    
                 
                    
                
 


 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号