黑马程序员技术交流社区
标题:
成员变量和局部变量的区别
[打印本页]
作者:
Liveei
时间:
2015-8-24 19:26
标题:
成员变量和局部变量的区别
本帖最后由 Liveei 于 2015-8-24 19:31 编辑
一、成员变量和局部变量的区别?
1.源代码中定义的位置不同
成员变量定义在类中。
局部变量定义在方法中(类的下一级大括号都是局部的),也可以定义局部变量。
2.内存中存储的位置不同
成员变量存储在堆内存的对象中。
局部变量存储在栈内存的方法中。
3.生命周期的不同
成员变量随着对象的调用而出现。
局部变量所属区间的运行而出现,随着所属区间的结束而结束。
二、
class car{
int num;
String color
void run(){
System.out.println(num+":"+color);
}
}
public static void main (String[] args){
//结果是什么???
new.car().num=4;
new.car().color="red";
new.car().run();
}
结果:0:null;
原因:匿名对象对方法只进行一次调用。
第一次new,对内存中开辟了一片空间,生成一个栈地址。没有被人指向。随既成为废代码、
第二次new,如上。
第三次的引用,运行了run()方法。打印了 0:null
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2