(17)匿名对象,及对象栈堆内存表示
一、匿名对象使用方法
匿名对象使用方法一:当对对象的方法只调用一次时,可以用匿名对象来完成,这样写比较简单
例如:
new Car().num=3;//该句执行完后,就会成为堆中垃圾
new Car().run();//这就是匿名对象的使用方法一
注意:如果对一个对象进行多个成员调用,必须给这个对象起个名字
匿名对象使用方法二:可以将匿名对象作为实际参数进行传递
第二个图是对注释掉的图示//没形成垃圾,因为还有q指向(直到main执行完毕)
第一个图是对show(new Car());//当该方法执行完后,因为局部变量c释放,没有引用了,会成为堆中垃圾
二、在main中也可以指定一个对象的生命周期,显式结束一个对象的结束
car c=new car();
........................//代码编写
q=null; //没有引用,成为垃圾