变量都有自己对应的作用域,看定义在什么{}里面
先上代码吧
public class Test02 {
String name; //全局变量
int age;
public void Studnet(){
int a = 4; //局部变量
String sex = "男";
System.out.println(a);
System.out.println(sex);
}
}
全局变量又称成员变量,属性;
都是变量,那他们有什么区别呢?
1.在类的声明位置的不同
全局变量:直接定义在类的一对{}内
局部变量:声明在方法内,方法形参,代码块内,构造器形参,构造器内部的变量
2.默认初始化的值的不同
全局变量:根据其类型,都有默认的初始化的值
局部变量:没有默认初始化值,意味着我们在调用局部变量时要先赋值
3.在内存的加载的位置
全局变量:加载到堆空间里面
局部变量:加载到栈空间
4.关于权限修饰符的不同
全局变量:可以在属性时,指明其权限,使用权限修饰符
局部变量:不可以使用权限修饰符;