博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

解惑一:静态成员

Posted on 2022-06-28 20:39  通宵的达旦  阅读(81)  评论(0)    收藏  举报
  1. 静态成员变量的目的是为了该类的所有对象可以共享同一个成员,大家统一使用,所以不用全局变量也可以。
  2. 静态变量是属于整个类的,独立于该类的所有对象,在对象之外开辟空间。当类第一次使用时,就会为其分配内存指导类被卸载。
  3. 静态方法是被类所拥有的,可以通过类名来使用,也可以使用对象来使用。
  4. 静态方法不能访问成员变量,只能调用静态变量。原因是,静态方法不一定是通过对象调用的,没有对象实例,就没有成员 变量。成员变量是属于对象的。
  5. 静态方法中不能直接调用非静态的方法,需要通过对象来访问非静态的方法。
  6. 非静态成员函数有this指针,而静态成员函数没有this指针。
  7. 静态成员函数不能被声明为const。
  8. 静态成员在类内声明,在类外初始化,但是静态常量成员可以在类中初始化。
    class  A{
    
    //类中初始化静态成员
    static int a= 0;
    
    //错误
    
    }
    
    
    
    class  A{
    //常量也不可以
    const int a=0;
    //错误
    
    }
    
    
    class A{
    //静态常量可以
    static const int a=0;
    //可以
    
    
    }