Java的变量可分为三大类:
- 类变量:也被叫做静态变量;存在于类之内,方法和代码块之外,
被
static修饰的变量。 - 成员变量:存在于类之内,方法和代码块之外,
没有被
static修饰的变量。 - 局部变量:存在于方法之内的变量或方法的形参被称为局部变量。
类变量
类变量依赖于类本身,只会在初始化时候在栈内存空间分配一次空间,无论类被实例化几次,都不会再为类变量分配空间;实例化对象访问类变量,底层都是将其转变为类本身来访问类变量,所以只要类变量的值发生变化,所有的实例化对象来访问都是得到变化之后的值。
类变量的初始化时机是发生在类的初始化之前。
// 类变量(静态变量或全局变量)
private static String staticVariable;
成员变量
成员变量是不被 static 关键字修饰,存在于类内,方法之外的变量;成员变量的作用范围与类的实例化对象的作用范围一样,只当类被实例化,成员变量就会在内存中被分配内存并初始化;类的初始化对象的声明周期结束,成员变量也将会被移出内存,被销毁。
// 成员变量
private String memberVariable;
局部变量
局部变量存在于方法内,其作用的范围也就只能在方法之内。
public void partVariableOfMethod(){
// 局部变量
String partVariable;
}