- 静态成员变量的目的是为了该类的所有对象可以共享同一个成员,大家统一使用,所以不用全局变量也可以。
- 静态变量是属于整个类的,独立于该类的所有对象,在对象之外开辟空间。当类第一次使用时,就会为其分配内存指导类被卸载。
- 静态方法是被类所拥有的,可以通过类名来使用,也可以使用对象来使用。
- 静态方法不能访问成员变量,只能调用静态变量。原因是,静态方法不一定是通过对象调用的,没有对象实例,就没有成员 变量。成员变量是属于对象的。
- 静态方法中不能直接调用非静态的方法,需要通过对象来访问非静态的方法。
- 非静态成员函数有this指针,而静态成员函数没有this指针。
- 静态成员函数不能被声明为const。
- 静态成员在类内声明,在类外初始化,但是静态常量成员可以在类中初始化。
class A{ //类中初始化静态成员 static int a= 0; //错误 } class A{ //常量也不可以 const int a=0; //错误 } class A{ //静态常量可以 static const int a=0; //可以 }