Java中的变量
C/C++的变量类型和存储区域
在C/C++语言中的变量,分为静态和非静态的全局变量和局部变量,可以分布在堆、栈、和全局数据区,如下表所示:
| 变量类型 | 存储区域 |
|---|---|
| 静态全局变量 | 全局数据区 |
| 非静态全局变量 | 全局数据区 |
| 静态局部变量 | 全局数据区 |
| 非静态局部变量 | 栈 |
Java的变量类型和存储区域
而在Java语言中,变量分为类变量,实例变量,局部变量,类变量属于某个类,存储在方法区,实例变量属于类的某一个实例,存储在堆空间,局部变量变量属于某一段函数的作用域,存储在栈中。
| 变量类型 | 存储区域 |
|---|---|
| 类变量 | JVM方法区 |
| 实例变量 | 堆 |
| 局部变量 | 栈 |
public class Variables {
// a是类变量
static int a;
// b是成员变量
int b;
// c和d是局部变量
public void test(int c){
int d;
}
}