标签:
#import <Foundation/Foundation.h> /* 对象方法 1> 减号 - 开头 2> 只能由对象来调用 3> 对象方法中能访问当前对象的成员变量(实例变量) 类方法 1> 加号 + 开头 2> 只能由类(名)来调用 3> 类方法中不能访问成员变量(实例变量) 类方法的好处和使用场合 1> 不依赖于对象,执行效率高 2> 能用类方法,尽量用类方法 3> 场合:当方法内部不需要使用到成员变量时,就可以改为类方法 可以允许类方法和对象方法同名 */ @interface Person : NSObject { int age; } // 类方法都是以+开头 + (void)printClassName; - (void)test; + (void)test; @end @implementation Person + (void)printClassName { // error:instance variable ‘age‘ accessed in class method // 实例变量age不能在类方法中访问 //NSLog(@"这个类叫做Person-%d", age); } - (void)test { NSLog(@"111-%d", age); //[Person test]; } + (void)test { // 会引发死循环 //[Person test]; NSLog(@"333"); // 会引发死循环 // /[Person test]; } @end int main() { //[Person printClassName]; [Person test]; //Person *p = [Person new]; //[p test]; /* -[Person printClassName]: unrecognized selector sent to instance 0x7fa520c0b370 */ // 系统会认为现在调用的printClassName是个对象方法 //[p printClassName]; return 0; }
标签:
原文地址:http://www.cnblogs.com/huimotuo/p/4458029.html