简单描述成员变量和局部变量的比较

妖精的绣舞 提交于 2020-02-28 21:47:25

成员变量:由于是属于对象的,所以位于堆内存中

局部变量:位于栈内存中(因为方法是位于栈内)

1.两者作用域不同
2.初始值不同(成员变量会被赋予初始值,而局部变量不会)
3.在同一个方法中不允许有同名的局部变量,不同方法中,可以有同名的情况
4.成员变量和局部变量同名时,局部变量具有更高的优先级别

下面通过一个例子来看优先级的变化

package ZUOYE5;

public class Object {
int text = 10;// 成员变量

void Text() {
	int text = 100;// 局部变量优先级更高
	System.out.println(text);
}

public static void main(String[] args) {
	Object  one = new gaicuo();
	System.out.println(one.text);
	one.Text();
}

}

输出结果为:100 10
根据结果,可见在调用方法的时候,局部变量的优先级是更高的

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!