这个东西, 要说是从C语言开始.
static修饰符修鉓的全局变量/局部变量/函数, 其作用域都是文件作用域.
在程序运行期间, static变量就一直在内存的静态区域(这个静态区域就是全局变量区).
然后C++在实现面向对象的功能时, 把static修饰的数据成员和函数成员都看成独立于对象, 并一直存在的东西.
这种static是面向对象必不可少的特性, 所以JAVA从C/C++那里沿用的static这个特性.
只是JAVA的虚拟机的内存分配简化为几个区, 其把.class对象放到方法区了, 必然的, 其中的静态成员和方法都在方法区了. |