![](https://img-blog.csdnimg.cn/img_convert/41386a8f3290348172f836583e98932f.png)
区别 | 局部变量 | 全局变量 |
作用域 | 当前函数或循环等 | 整个程序 |
内存存储方式 | 栈区 | 全局数据区 |
使用方式 | 在声明后程序的各个部分都可以用到 | 只能在局部使用。 函数内部会优先使用局部变量再使用全局变量。 |
一个对象一份的是实例变量。
所有对象一份的是静态变量。
静态变量
(1)静态变量(又称类变量):由static修饰,在JVM中,静态变量的加载顺序在对象之前,因此静态变量不依附于对象存在,可以在不实例化类的情况下直接使用静态变量
(2)静态变量属于类,不属于类中任何一个对象,因此静态变量又叫做类变量,一个类不管创建多少个对象(对象是类的一个实例),静态变量在内存中有且仅有一个。
简而言之若需要引用静态变量,直接类名.静态变量即可 如:System.out.println(“类变量(又称静态变量) A=” + Demo.A);
2. 实例变量
实例变量(又称成员变量):必须依附于对象存在,只有实例化类后才可以使用此类中的实例变量。
3.局部变量
声明在方法、构造方法或者语句块中。
必须要进行初始化。