成员变量
我们研究一个事物:
- 属性:外在特征(类中的成员变量)
- 行为:能做什么
局部变量
方法中,或者方法的形参
成员变量和局部变量的区别
- 位置不同:
成员变量:----> 类中,方法外
局部变量:-------> 方法里,方法的形参,代码块里
public class Test1{
String name;//成员变量
public void show(int number){ //number是方法的形参,局部变量
int age;//局部变量
for(int i=0;i<10;i++){ //k是for语句块中的局部变量
}
//System.out.println("i="+i);
}
}
- 作用范围不同:
成员变量–>整个类,整个类中的所有方法均可以使用
局部变量–>只限于当前方法,或者当前语句块
public class Test1{
String name;//成员变量
public void show(int number){ //number是方法的形参,局部变量
int age=10;//局部变量
for(int i=0;i<10;i++){ //k是for语句块中的局部变量
}
//System.out.println("i="+i);
System.out.println(name);
}
public void fun(){
System.out.println(name);
//System.out.println("age="+age);//报错,找不到符号,因为age的使用范围 只限于show
}
public void method(int number){
int age=20;
}
}
不同的方法中,可以有同名的局部变量,之间互不影响
3. 内存的存放位置不同
成员变量: 存放在堆内存
局部变量: 存放在栈内存
4. 初始值
成员变量有初始值
局部变量没有初始值
5. 作用时间:
局部变量:当前对象从创建到销毁
局部变量:当前方法从开始执行到结束