成员变量和局部变量
Java使用变量的规则:
* 遵循就近原则,如果局部位置有,就使用
* 没有就去本类的成员位置找,没有就去父类中找,没有就报错
1 package Class.Student;
2 /**
3 * 定义一个学生类
4 */
5
6 public class Student {
7 //成员变量
8 String Sno;
9 String name;
10 int age;
11 //成员方法
12 public void study(){
13 String name = "赵四";
14 System.out.println(name+"爱学习");
15 }
16 }
17 /*
18 输出:“赵四爱学习” 而不是 ”张三爱学习“
19 */
成员变量与局部变量的区别
定义位置
- 成员变量:类中,方法外
- 局部变量:方法中或形式参数
初始化值
- 成员变量:有默认初始化值
- 局部变量:无默认初始化值,必须先赋值再使用
作用范围
- 成员变量:在类中
- 局部变量:在方法中
内存中的位置
- 成员变量:堆内存
- 局部变量:栈内存
生命周期
- 成员变量:随着对象的创建而存在,随着对象的消失而消失
- 局部变量:随着方法的调用而存在,随着方法调用完毕而消失
注意事项
- 局部变量和成员变量重名时采用就近原则