Java - 变量及其生命周期,初始值,访问方式

一、java类的成员变量有两种: (静态变量,实例变量)

1.被static关键字修饰的变量,叫类变量或者静态变量。

      1.1: 类的静态变量在内存中只有一个,java虚拟机在加载类的过程中为静态变量分配内存,

      1.2: 静态变量位于方法区,被类的所有实例共享。 

      1.3: 静态变量可以直接通过类名进行访问,其生命周期取决于类的生命周期。

      1.4: 静态变量是类相关的变量,所以他的生命周期是从这个类被声明,到这个类彻底被垃圾

回收机制彻底回收才会被销毁。

 

2.另一种没有static修饰,为实例变量 

      2.1:实例变量取决于类的实例。每创建一个实例,java虚拟机就会为实例变量分配一次内存,

      2.2:实例变量位于堆区中,其生命周期取决于实例的生命周期。

      2.3:实例变量是这个类的对象里的变量,它和静态变量不同,它只能由创建出的对象来调用。

      2.4:所以实例变量是从这个对象(其实就是实例)被创建开始,直到这个对象没有任何引用变量

去引用它,最终被垃圾回收站回收,这时这个实例变量也跟着就消失了。

      2.5:只要对象被当作引用,实例变量就将存在。

 

 

    总而言之:静态变量生命周期就是类的开始和销毁

              实例变量生命周期就是对象的开始和销毁.

 

 

二、局部变量

    1.作用域: 在你定义的范围内有效。

    2.作为方法或语句块的成员而存在,存在于方法的参数列表和方法定义中。

    

初始化

1:局部变量在使用前必须被程序员主动的初始化,

2:成员变量则会被系统提供一个默认的初始值。

所以在语法上,类的成员变量能够定义后直接使用,而局部变量在定义后先要赋初值,然后才能使用。

 

引用:所有类的成员变量可以通过this来引用。

你可能感兴趣的:(java,局部变量,成员变量,java变量,变量生命周期)