static作用
总结: static作用:隐藏(最重要)、保持变量内容的持久性、默认初始化为0
详细解释:
-
static可以修饰局部变量(静态局部变量)、全局变量(静态全局变量)和函数,被修饰的变量存储在全局区(静态存储区)。
-
对于静态局部变量,相对于一般局部变量其生命周期长,直到程序运行结束而非函数调用结束,并且在编译的时候进行初始化且仅初始化一次 (初始化发生在第一次函数调用的时候)。(注:全局区中的变量都是在编译的时候进行初始化)
-
对于静态全局变量,相对于全局变量其可见范围被缩小,只能在本文件中可见;
-
对于被修饰的函数,在内存中只有一份,并且只能在本文件中可见。
-
未初始化时,static变量默认值为0。
注: 局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期。把全局变量改变为静态变量后是改变了它的作用域, 限制了它的使用范围。
-
-
修饰类成员
(1)静态成员变量
-
所有对象共享同一份数据
-
在编译阶段分配内存
-
类内声明,类外初始化 static 成员变量的内存空间既不是在声明类时分配,也不是在创建对象时分配,而是在初始化时分配。 static 成员变量不随对象的创建而
-