load函数是当类被引用进项目的时候会执行(在main函数执行之前)与这个类是否用到无关,每个类的load函数只会自动调用一次。
1.当父类和子类都实现了load函数时。二者的load方法都会被调用。父类的load方法执行顺序要优先于子类。
2.当子类未实现load方法时,加载该子类时,不会去调用其父类的load方法
3.类中的load方法执行顺序要优先于类别。
4.类别与多个不同的类执行顺序与编译顺序一致
initialize函数是懒加载的方式被调用的。函数是在类或者其子类收到第一条消息之前调用。
1.父类的initialize方法会比子类先执行
2.子类未实现initialize方法,会调用父类的initialize方法,子类实现了initialize方法时,则会覆盖父类的initialize方法
3.当有多个category都实现了initialize方法时,会覆盖类中的方法,只执行最后那个编译的
对于load和initialize方法,我们不要显示的调用super对应的方法