(17)匿名对象,及对象栈堆内存表示

一、匿名对象使用方法

匿名对象使用方法一:当对对象的方法只调用一次时,可以用匿名对象来完成,这样写比较简单

例如:

    new Car().num=3;//该句执行完后,就会成为堆中垃圾

    new Car().run();//这就是匿名对象的使用方法一

注意:如果对一个对象进行多个成员调用,必须给这个对象起个名字

匿名对象使用方法二:可以将匿名对象作为实际参数进行传递

第二个图是对注释掉的图示//没形成垃圾,因为还有q指向(直到main执行完毕)

第一个图是对show(new Car());//当该方法执行完后,因为局部变量c释放,没有引用了,会成为堆中垃圾

(17)匿名对象,及对象栈堆内存表示

二、在main中也可以指定一个对象的生命周期,显式结束一个对象的结束

car c=new car();

........................//代码编写

q=null;   //没有引用,成为垃圾