区别
| 类方法 | 实例方法 |
---|
生成时机 | 编译时 | 运行时 |
调用方式 | 类直接调用 | 生成实例调用 |
内存 | 连续、常驻、堆 | 离散、可释放、栈 |
副作用 | 影响启动 | |
场景
- 当方法不涉及到成员变量时,使用类方法,否则使用实例方法。
- 类方法一般用于实现一些工具方法,或者实现单例。
注:事实上如果一个方法与他所在类型的实例无关,那么它就应该是静态的,决不会有人把它写成实例方法。所以所有的实例方法都与实例有关,既然与实例有关,那么创建实例就是必然的步骤,没有麻烦简单一说。实际上你可以把所有的实例方法都写成静态的,将实例作为参数传入即可。