1、在Java中,主要的变量就是属性(成员变量)和局部变量。
2、我们说的局部变量一般是指在成员方法中定义的变量。
3、Java作用域分类:
全局变量:作用域为整个类,该类中的方法可以使用。
局部变量:作用域为定义它的代码块中。
4、全局变量可以不赋值,直接使用,因为有默认值。
局部变量必须赋值后,才能使用,因为没有默认值。
class Methods{
int num;
String name = "Mary";
public void find() {
int age;
String address = "china";
System.out.println(num);
System.out.println(name);
// System.out.println(age); // 报错,局部变量未赋值不可直接使用
}
}
5、注意事项:
a、属性(成员变量)和局部变量可以重名,访问时遵循就近原则。
class Methods{
String name = "Mary";
public void find() {
String name = "King";
System.out.println(name); // king
}
}
b、在同一个作用域中,两个局部变量不可重名。
c、属性生命周期较长,伴随着对象的创建而创建,随着对象的死亡而死亡。
局部变量,生命周期较短,伴随着代码块的执行而创建,伴随着代码块的结束而死亡。
6、区别:
全局变量(属性):可以在本类使用,也可以在其它类使用(通过对象调用)。
局部变量:只能在本类的方法中使用。
修饰符不同:全局可以加修饰符,局部不可以加。