1.写法不同
静态变量用static修饰
实例变量和局部变量则不用static修饰
2.定义位置
静态变量和实例变量均在类中但不在方法或局部块中
3.存储地方不同
静态变量存储在方法区,所有对象共享静态变量
实例变量存储在堆内存
局部变量存放在栈中
4.生命周期
实例变量与对象共存亡静态变量与方法共存亡
静态变量与进程共存
局部变量与创建区域共存亡
5.初始值不同
静态变量没有初始值
实例变量有默认初始值
局部变量有默认初始值
表格
实例变量(成员变量) | 静态变量(类变量) | 局部变量(方法变量) | |
写法 | 不用static | 用static | 不用static |
定义位置 | 类中但不在方法或局部块 | 类中但不在方法或局部块 | 方法或局部块 |
存储位置 | 堆内存 | 方法区 | 栈内存 |
初始值 | 有默认初始值 | 无默认初始值 | 有默认初始值 |
生命周期 | 与对象共存 | 与进程共存 | 与创建区域共存亡 |