作用域
作用域的分类
类下方法外为全局变量,方法内为局部变量
- 全局变量
全局变量不一定要赋值,直接使用,因为有默认值 - 局部变量
局部变量必须赋值,才能使用,因为没有默认值
细节
- 属性和局部变量可以重名,访问时遵循就近原则
package VarScope;
public class VarScopeDemo {
public static void main(String[] args) {
Person person = new Person();
person.say();
}
}
class Person{
String name = "jack";
public void say(){
String name = "king";
System.out.println("say方法里的输出" + name);
}
}
say方法里的输出king
把say()里面的name删掉得到的结果是
say方法里的输出jack
-
同一个作用域中,2个局部变量不能重名
-
作用域范围不同
全局变量:可以被本类使用,或其他类使用(通过调用对象)
局部变量:只能在本类中对应的方法中使用 -
修饰符不同
全局变量可以加修饰符
局部变量不可以加修饰符