对于Java中的变量而言,按其所在位置的不同,可以分为成员变量和局部变量两种。其中,定义在类中的叫成员变量,定义在方法中的变量叫局部变量。
- 成员变量
成员变量是被定义在类中的变量。如果该成员变量被static进行修饰,表明该成员变量属于类,为类成员变量。如果该成员变量未被static进行修饰,表明该成员变量属于实例,为普通成员变量。
对于类成员变量而言,随类的加载和初始化而生,随类的销毁而亡。对于普通成员变量而言,则随对象的创建而生,随对象的销毁而亡。
对于类成员变量而言,只能通过类来进行访问。对于普通成员变量而言,只能通过实例对象进行访问。
- 局部变量
局部变量是定义在方法中的变量,根据定义形式的不同,局部变量又分为:形参局部变量、方法局部变量和代码块局部变量。
形参:定义方法时用小括号包裹的参数,在整个方法内有效。
方法局部变量:在方法体内定义的局部变量,生效范围是从定义的位置开始,到方法结束为止。
代码块局部变量:在代码块中定义的局部变量,生效范围是从定义位置开始,到代码块的结束。
最后需要强调的是,成员变量无需进行显式初始化,而局部变量除形参外都需要显式初始化。