objc中的类方法和实例方法有什么本质区别和联系

  • 类方法:
    • 类方法是属于类对象的
    • 类方法只能通过类对象调用
    • 类方法中的self是类对象
    • 类方法可以调用其他的类方法
    • 类方法中不能访问成员变量
    • 类方法中不能直接调用对象方法
    • 类方法是存储在元类对象的方法缓存中
  • 实例方法:
    • 实例方法是属于实例对象的
    • 实例方法只能通过实例对象调用
    • 实例方法中的self是实例对象
    • 实例方法中可以访问成员变量
    • 实例方法中直接调用实例方法
    • 实例方法中可以调用类方法(通过类名)
    • 实例方法是存放在类对象的方法缓存中