load 方法与initialize 方法的使用区别

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/GeekLee609/article/details/97500160
  • 调用时机的不同
    load 方法在程序启动编译时调用,initialize 方法在使用类时调用
  • 是否能被分类覆盖
    如果分类中实现了 load 方法,不会覆盖类中的 load 方法,编译时类与分类都实现了 load 方法时会都调用,多个分类重写了 load 方法时,编译时都会调用各个分类的 load 方法,同时子类的 load 方法也不会影响
    initialize 方法能被分类覆盖,一旦分类重写了该方法,在使用类时只调用分类重写的initialize方法 ,多个分类同时重写了initialize ,以最后参与编译的分类方法为准;因此在使用类时,首先判断其分类有没有实现initialize方法,没有再去查找当前类有没有实现initialize,没有再去其父类查找
展开阅读全文

没有更多推荐了,返回首页