在Java程序中,会根据变量的有效范围将变量分为成员变量和局部变量,通常类的属性成为累的全局变量(成员变量),成员变量在整个类中都有效,在类的方法体中定义的变量称为局部变量,局部变量只在当前代码体中有效不能用于类的其他方法中。成员变量可与局部变量的名字相同,此时成员变量将被隐藏,即这个成员变量在此方法中暂时失效,只取局部变量的值。举个例子:
1 public class Man{ 2 static int age=20; 3 public static void main(String[] args){ 4 int age=22; 5 System.out.println("He's "+age+" years old this year."); 6 } 7 }
运行结果:
我们在写程序的时候,对于成员变量可以给它初始化一个值,也可以不给他赋值,运行时系统会根据变量的类型给它初始化一个值,依据如表1.1所示。但如果对于方法中的局部变量没有设初值,是没有办法进行编译的,系统会报错。
表1.1
int | 0 |
float | 0.0 |
Boolean | false |
引用 | null |
实例变量与局部变量之间的差别:
1、实例变量是声明在类内而不是方法中。
2、局部变量是声明在方法中的。
3、局部变量在使用前必须初始化。