作用域
全局变量
(1)全局变量指的是定义在类中但在方法之外的一些变量
(2)当变量作为类的属性时,可以不赋值,有默认值(类创建的默认初始化)
局部变量
(1)局部变量指的是定义在方法中的变量,即除了属性之外的其他变量,作用域为定义它的代码块中
(2) 必须赋值后才可以使用,因为没有默认值
作用域范围
(1) 全局变量:可以被本类使用,也可以被其他类使用(通过对象的调用)
(2) 局部变量:只能在本类中对应的方法中使用
使用细节
(1)属性和局部变量可以重名,访问时遵循就近原则
(2)同一个作用域中变量名不能重名,否则会被解析为重定义而报错
(3)全局变量的生命周期长,局部变量会随着方法调用的完成而销毁,由于方法的调用是临时申请一段栈空间,调用完成后就会释放,即随着调用的完成会销毁
(4)修饰符不同
(1)全局变量:可以加修饰符
(2)局部变量:不可以加修饰符
代码示例
java
public class Test {
public static void main(String[] args) {
p ts = new p();
ts.test();
ts.test1();
p1 ts1 = new p1();
ts1.test();
}
}
class p {
int age = 10;
public void test() {
int age = 5;
System.out.println(age);
}
public void test1() {
System.out.println(age);
}
}
class p1 {
public void test() {
p test_classp = new p();
System.out.println(test_classp.age);
}
}代码分析
(1)在 P 中使用两个方法验证了
变量的使用遵循就近原则
全局变量的作用范围(可以被本类中使用)
