类方法与对象方法
1.对象方法
>减号 - 开头
>只能由对象调用
>对象方法中可以访问成员变量(实例变量)
>对象方法中可以调用类方法
2.类方法
>加号 +开头
>只能由类名调用
>类方法中不可以访问成员变量(实例变量)[程序启动的时候,类(类方法)已经在内存当中了,这个时候还没有对象。而创建对象之后,每一个对象里都有一个成员变量,都会有自己的一份存储空间。有类方法的时候还没有对象,没有对象就没有实例变量,怎么可能在类方法中访问实例变量呢?!]
>类方法中不可以调用对象方法
>类方法中可以调用类方法(同名的除外)
允许有同名的对象方法和类方法,系统通过+ - 来区分
类方法的使用场合:
当方法中没有使用到成员变量的时候尽量用类方法
>执行效率高(如果对象方法要现找到对象再通过isa指针找到方法,而类方法直接找到方法)
>优化内存(类方法不需要创建对象)
>类方法一般用于编写工具方法