95.静态成员与普通成员的区别是什么?
95.静态成员与普通成员的区别是什么?
1.归属不同
- 普通成员:属于每个对象,每个对象一份
- 静态成员:属于整个类,所有对象共享一份
2.内存存储不同
- 普通成员:在栈 / 堆对象空间中
- 静态成员:在全局数据区(不在对象里)
3.访问方式不同
- 普通成员:必须通过对象 -> 或 对象. 访问
- 静态成员:可用类名:: 直接访问,也可用对象访问
4.生命周期不同
- 普通成员:随对象创建 / 销毁而存在 / 消失
- 静态成员:程序启动就存在,程序结束才释放
5.访问权限不同
- 普通成员函数:有
this指针,可访问任意成员 - 静态成员函数:无 this 指针,只能直接访问静态成员,不能访问普通成员
6.继承表现不同
- 普通成员:子类会继承并拥有各自副本
- 静态成员:子类与基类**共享同一个静态成员

浙公网安备 33010602011771号