什么是匿名对象以及匿名对象的基本使用
什么是匿名对象?
我们来看一步就创建对象的语法:
①类名称 ②对象名称 = ③new ④类名称()
①:规定了对象的类型
②:对象的名字,唯一标识对象
③:开辟新的堆内存空间,存储对象的内容,若是没有new,则没有内存空间,对象也就无法实例化
④:调用构造方法初始化对象
上面的这条语句在内存中开辟了两个空间,一个栈空间存储引用变量对象名称,一个使用new开辟的堆空间用于存储对象内容。
对象名称指向了在对堆中的对象,于是我们可以使用对象名称去操作对象。
若是我们只有"new 类名称();"这部分的话,那就是只是在堆中开辟了一个空间来保存对象信息,没有栈去指向它。也就是这个空间是没有名字的。
所以,没有栈指向的对象就叫做匿名对象。
匿名对象的使用:
new Student(123456,"Sakura",20).getName();
由此就创建了一个匿名对象,可以向操作有名对象一样操作它。
由于没有引用变量指向匿名对象,所以只能使用一次,然后就会成为垃圾对象等待被GC回收,
匿名对象的使用方法:
1. 当对象对方法仅进行一次调用的时候,就可以简化成匿名对象。
如一个 对象需要进行调用方法2次,用匿名对象的
new Car().run()
new Car().run()
这是2个对象分别调用了run(),不是一个对象调用了多方法。
2. 匿名对象可以作为实际参数进行传递。
public static void show(Car c)
{
//......
}
show(new Car());
转载声明: