什么是局部变量:
定义在方法中的变量为局部变量,例如下方代码中的a和name都为局部变量
代码语言:javascript复制public class VarDemo {
public void show(){
//局部变量
int a = 100;
String name = "lisi";
}
public static void main(String[] args) {
}
}
作用域:从定义的这个方法开始到结束,只能在当前方法中使用 例如:a和name只能在show方法中被使用
代码语言:javascript复制public class VarDemo {
public void show(){
//局部变量
int a = 100;
String name = "lisi";
}
public static void main(String[] args) {
System.out.println(a);
}
}
上述代码报错:
什么是成员变量:
定义在方法外,类内的变量叫做成员变量(全局变量),例如下方代码中的b就为成员变量,可以被其他方法引用
作用域:整个类体内
代码语言:javascript复制public class VarDemo {
int b = 200;
public void show(){
//局部变量
int a = 100;
String name = "lisi";
System.out.println(b);
}
public static void main(String[] args) {
}
局部变量与成员变量的区别:
- 声明位置不同:成员变量在类中; 局部变量方法中
- 作用范围不同:成员变量当前类的方法 ;局部变量当前方法
- 不同的方法中即使有同名的局部变量,没有关系,互不影响,建议相同
- 内存存放的位置:局部变量在栈内存中 成员变量在堆内存中
- 成员变量有默认值;局部变量没有默认值
- 局部变量不包含默认值,如果没有使用当前变量可以不赋值;成员变量包含初始值