黑马程序员技术交流社区

标题: 成员变量和局部变量的区别 [打印本页]

作者: 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