以前的学习方法总是看完视频或者找到解决办法就没有然后了,导致很多东西都了解的不够深入,再去查找的时候也是费时费力。最近想重新查漏补缺下,把所有的知识点总结下,大部分来自黑马程序员的视频,希望能巩固自己的知识。

对象方法的调用是栈里的p1指针->创建person对象(isa)指针指向代码段中的Person类,找到sayHi方法,然后调用
类方法直接找到hehe调用
类方法的特点
- 节约空间:因为调用类方法不用创建对象,节省了空间
- 提高效率:因为调用类方法不需要拐弯 直接找到类 直接执行类中的类方法
在类方法中不能直接访问属性
- 因为属性是在对象创建的时候,跟随对象一起创建在对象之中
- 类在第一次被访问的时候,会做类加载,是把类的代码存储在代码段
因为属性只有在对象创建的时候才会创建在对象之中
而类方法在执行的时候,有可能还没有对象,对象都没有怎么去访问属性 - 在类方法中也不能通过self直接调用当前类的其他对象方法。
- 在对象方法中可以直接调用类方法
什么时候可以将方法定义成类方法
- 如果方法不需要直接访问属性 也不需要直接调用其他的对象方法
那么我们就可以将这个方法定义为类方法
这样就 节约空间 提高了效率。
类方法的规范
- 如果我们写一个类,那么就要求为这个类提供一个和类同名的类方法
这个方法创建一个最纯洁的对象返回
网友评论