关于static这个关键字,存在于C,C++,Java,C#,Javascript等语言中。某些语言没有static关键字比如python,perl等但是也有相应的实现方式。
static的最直接的语意是静态,这个语意在C,C++,Java,C#,Javascript中是相同的,在函数(方法)中声明为static的变量的生命周期是全局的,初始化在内存的静态变量区。理论上你可以在任意时刻访问到它,但是由于变量的作用域的问题,你可能没有办法使用直接访问的方式来使用它。
OO的static是对成员变量变量的修饰,它属于类而不属于某个对象,他同样初始化在静态变量区,它不占用对象的空间。
c++/c中文件作用域限制,在文件范围内声明为static,这样这个变量将只能在本文件中访问到。