面向对象-匿名对象
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.匿名对象概述
1>.什么是匿名对象
匿名对象是对象的简化形式,因为它没有对象名称。
2>.匿名对象两种使用情况
对象方法仅进行一次调用时,多次调用不适合。
匿名对象可以作为实际参数进行传递。
3>.使用匿名对象的好处
简化写法,不必定义变量指向对象引用地址。
对象用完之后就变成垃圾内存,可以被垃圾回收器回收。
温馨提示:
当对象堆放啊只进行一次调用的时候,可以使用匿名对象堆代码进行简化。
如果对象要堆成员变量进行多次调用,必须给对象起一个名字,不能再使用匿名对象。
二.匿名对象案例
/** * @author 尹正杰 */ public class CarDemo2 { public static void main(String[] args) { /* * 下面一行代码是正常使用类的方式,需要使用一个变量指向在堆内存中实例对象的引用地址。 * 这种方式之创建了一个对象,而且在栈内存中保存了堆内存对象的引用地址,故可以被多次调用。 */ Car c1 = new Car(); c1.run(); c1.color = "红色"; c1.tyreNumber = 5; c1.run(); System.out.println(c1); /* * 下面三行写法都是匿名对象,分别创建了3个对象。 * 针对匿名对象,可以调用对象中的方法,但是不建议调用对象中的熟悉,因为这样是没有意义的,匿名对象只能被调用一次。 */ new Car().run(); new Car().tyreNumber = 4; new Car().run(); //将匿名函数作为参数传递 myMethod(new Car()); } public static void myMethod(Car c) { c.color = "蓝色"; c.tyreNumber = 4; c.run(); } }