1. 变量的分类
a) 成员变量(实例变量/属性)定义在类体里面,方法体外面
b)局部变量定义在方法体里面
注意 *:java里面没有全局变量的概念 *:成员变量和局部变量之间是可重名的
2.局部变量和成员变量之间的区别
a)定义的位置
成员变量:方法体外面
局部变量:方法体里面
b)作用范围不同
成员变量:依赖于对象而存在只要对象没被回收那么都可以访问
局部变量:只能在定义的那一行开始到所在的方法体结束之前可以访问
c) 默认值的问题
成员变量:即使不赋值也有默认值
局部变量:在使用之前必须先赋值
3. 举例说明
public class TestStu{
public static void main(String[] args){
Student stu = new Student();
System.out.println(stu.name);//null
System.out.println(stu.age);//0
}
}
class Student{
//成员变量:定义在类体里面 方法体外面
//局部变量:定义在方法体里面
String name;//成员变量 实例变量 属性
int age;//成员变量
int hour;
public void study(){
//方法的参数同样也是局部变量
System.out.println(hour);//成员变量
//局部变量没有默认值 : 在使用之前必须先赋值
int hour = 3;
System.out.println(name + "同学每天学习" + hour + "个小时");//局部变量
}//只要所在的方法体一旦结束 局部变量立即销亡
}