- 类方法是以+开头的
- Person *p = [Person new];这个是类方法;
- [p test];//这个是对象方法
- 类方法的调用需要创建对象;类方法只能用类来调用;对象方法只能通过对象来调用;
- + (void) test;
- - (void) test;
- 上面两个可以同时存在,因为一个是类方法,一个是对象方法;
- 细节:方法只有两种:类方法;对象方法;
- 对象方法:减号 - 开头;只能有对象来调用;
- 类方法:加号 + 开头;只能有类(名)来调用;
- 类方法的好处:
- 不依赖于对象,执行效率高
- 在开发中,能用类方法尽量用类方法;
- 场合:当方法内部不需要使用到成员变量是,就可以改为类方法;
- 没有任何成员变量和里面的方法都是类方法的类是工具类;
- 假如一个方法用到另一个方法,就可以去调用它;
- 对象方法可以调用类方法;
-
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | - ( void ) test
{
[Person test];
}
下面的代码会导致死循环
+ ( void )test
{
[Person test];
}
下面的代码会报错,不会打印;
+ ( void )test
{
[Person test];
NSLog( @"打印" );
}
|
|
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
【推荐】AI 的力量,开发者的翅膀:欢迎使用 AI 原生开发工具 TRAE
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
· 记一次 C# 平台调用中因非托管 union 类型导致的内存访问越界
· [EF Core]聊聊“复合”属性
· 那些被推迟的 C# 14 特性及其背后的故事
· 我最喜欢的 C# 14 新特性
· 程序员究竟要不要写文章
· 我是不是很有钱?
· 遭遇疯狂 cc 攻击的一个周末
· 【EF Core】聊聊“复合”属性
· GPT‑5 重磅发布
· 美丽而脆弱的天体运动:当C#遇见宇宙混沌