什么是java的局部变量、成员变量和全局变量?
2个回答
展开全部
1、局部变量:在方法内定义的变量称为“局部变量”或“临时变量”,方法结束后局部变量占用的内存将被释放。
2、成员变量:在类体的变量部分中定义的变量,也称为字段。
3、全局变量:全局变量,又称“外部变量”,它不是属于哪个方法,作用域从定义的地址开始到源文件结束。
4、局部变量和成员变量主要是他们作用域的区别:
成员变量个是类内部;局部变量是定义其的方法体内部(或者方法体内部的某一程序块内——大括号,主要看定义的位置)。
成员变量可以不显式初始化,它们可以由系统设定默认值;局部变量没有默认值,所以必须设定初始赋值。
在内存中的位置也不一样。成员变量在所在类被实例化后,存在堆内存中;局部变量在所在方法调用时,存在栈内存空间中。
展开全部
public class Test {
private String name;//成员变量,也是全局变量
public void changeName() {
String n = "tomoya";//n就是局部变量
name = n;
}
}
总的来说,定义在类里的,也就是name那个位置,就是成员变量,在JAVA里全局变量和成员变量是一个意思。
定义在方法里或域里就叫做局部变量,所谓域就是{}里面,比如
public void show() {
int b = 2;//局部变量
if(true) {
int a = 1;//局部变量
}
//这个位置访问a,无效
}
//这个位置,或其他方法里访问b,无效
他的作用范围:
局部变量离开了他的域{}就无效
成员变量的范围依赖他的访问修饰符,什么是访问修饰符呢?
public
protected
private
默认,你定义时不给他访问修饰符就是默认
至于他们的范围,请自行查资料,不动脑筋是不行滴
这种东西确实如1L所说的,再烂的书也会有介绍
private String name;//成员变量,也是全局变量
public void changeName() {
String n = "tomoya";//n就是局部变量
name = n;
}
}
总的来说,定义在类里的,也就是name那个位置,就是成员变量,在JAVA里全局变量和成员变量是一个意思。
定义在方法里或域里就叫做局部变量,所谓域就是{}里面,比如
public void show() {
int b = 2;//局部变量
if(true) {
int a = 1;//局部变量
}
//这个位置访问a,无效
}
//这个位置,或其他方法里访问b,无效
他的作用范围:
局部变量离开了他的域{}就无效
成员变量的范围依赖他的访问修饰符,什么是访问修饰符呢?
public
protected
private
默认,你定义时不给他访问修饰符就是默认
至于他们的范围,请自行查资料,不动脑筋是不行滴
这种东西确实如1L所说的,再烂的书也会有介绍
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询