标签:
讲个小知识点,匿名对象,匿名就是没有名字,不起名字是对象的简写格式,有自己的应用场景,也有自己的弊端。
new Car().num = 5;一执行完就垃圾了
new Car().color = "blue";一执行完就垃圾了new Car().run();//匿名对象调用方法有意义,里面有内容,而调用属性
Car c = new Car();
c.run();
new Car().run();
Car c = new Car();
c.run();
c.num = 4;
new Car().run();
*/
//匿名对象使用方式一:当对对象的方法只调用一次时,可以用匿名对象来完成,这样写比较简化。
//如果对一个对象进行多个成员调用,必须给这个对象起个名字。
//匿名对象使用方式二:可以将匿名对象作为实际参数进行传递。
凡是简化的都有局限性,三元运算符是ifelse的简化,有局限性,必须有运算结果。
Car q = new Car();
show(q);
//show(new Car());//这个对象有名字了,有引用,不再是垃圾
}
//需求:汽车修配厂。对汽车进行改装,将来的车够改成黑车,三个轮胎。
public static void show(Car c)
{
c.num = 3;
c.color = "black";
c.run();
}
直线完毕后,对象没有引用了就变成垃圾,涉及到强引用,其实涉及到弱引用的问题。其实开发中真想让对象变垃圾q=nul,明确指定一下。引用不指向你了。其实java中写缓存程序,就要指定对象生命周期到底有多长。不指定的话虚拟机收,虚拟机收不定时。这时把对象释放出来时就要考虑到强引用,软引用,弱引用和虚引用。优化内存用的。后面时会讲,利用java给我们提供的对象。
标签:
原文地址:http://blog.csdn.net/qq_27073205/article/details/45227317