软件的存在就是处理数据的,处理数据之前需要先将要处理的数据存储起来,那么程序将数据存储在哪里呢?对,存储在变量中。变量是什么?其实变量就是内存中的一块空间,是内存中存储数据的基本单元。

在Java语言中,变量根据定义的位置不同可以分为两类:局部变量和成员变量。在方法体当中声明的就是局部变量。在方法体之外声明的就是成员变量。对于成员变量来说又可以分为两种,被static修饰的叫做静态变量。没有被static修饰的叫做实例变量。综上所述,在Java中实际上就三种变量:局部变量、静态变量、实例变量。对于我们来说必须掌握的是这三种变量分别存储在内存的哪个位置上?什么时候初始化?以及怎么访问?这是最重要的。

局部变量:

在方法体中声明的变量;

在方法的代码执行过程中分配内存空间,方法执行结束之后内存释放;

存储在JVM的栈内存当中。

在方法中直接访问即可,例如:int i = 100; System.out.println(i);

实例变量:

在方法体外声明的变量,并且没有被static修饰;

又称为对象变量;

如果想访问实例变量,必须先new对象,然后采用“引用.”的方式访问;

存储在JVM的堆内存当中;

实例变量的初始化时机就是调用构造方法的时候,或者说new的时候;

当JVM中的对象被回收时,实例变量的内存将被释放;

静态变量:

在方法体外声明的变量,并且被static修饰;

又称为类变量;

如果想访问静态变量,直接采用“类名.”的方式;

静态变量在类加载时初始化,不需要等到对象的创建;

静态变量存储在JVM的方法区内存中;