首页 > 代码库 > Java中的变量

Java中的变量

Java中的变量分为以下三种:

  • 局部变量
  • 成员变量
  • 类变量(静态变量)

 

  • 局部变量 

    1. 局部变量分配在内存中的栈空间。
    2. 局部变量没有默认值,所以要使用的话必先初始化。
    3. 局部变量在方法、构造方法和代码块中声明(代码块是指花括号中的代码所组成的块,在花括号中声明的变量就是局部变量,它的作用域也是在花括号所包含的范围内,一旦代码块语句执行完毕,局部变量就自动销毁)。
    4. 局部变量不能被访问修饰符所修饰。
  • 成员变量

成员变量也叫全局变量,它包括实例变量、类变量和常量。但在我的理解中,一般是用来指实例变量居多,实例变量有如下的几个特点:

    1. 实例变量在类中声明,但又在方法和构造方法之外,作用域是整个类。
    2. 实例变量在对象创建的时候创建,随着对象的销毁而销毁,它的内存分配在堆空间。
    3. 实例变量可以在使用前声明,也可以在使用后声明。
    4. 实例变量可以被访问修饰符修饰。
    5. 实例变量有默认值,数值类型默认的是0,布尔类型的默认是false,引用类型默认的是null。
    6. 当实例化一个对象的时候,实例变量的值也要确定下来。
  • 类变量

类变量也叫静态变量,经常用static来修饰(我的理解是用static修饰的变量就是静态变量)。

    1. 静态变量是在程序刚开始的时候创建的,程序结束时销毁。
    2. 不管一个类创建了多少个对象,静态变量只有一份拷贝,也就是不同对象中的静态变量其实是指向的同一个。
    3. 类变量被声明为public static final类型时,类变量名称一般建议使用大写字母。其他的正常命名。
    4. 默认值跟实例变量一样。
    5. 静态变量可以直接用类名加变量名访问,即ClassName.Var,但实例变量就必须通过实例对象访问。
    6. 静态方法中不能访问非静态成员。

 

public  class  Test{
        public  int  A;     //实例变量
        public  static  int  B;    //静态变量
        public  void  C(){
        int  D;  //局部变量
        }
}

 

Java中的变量