JavaSE基础 - 匿名对象

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Vincent_Xupt/article/details/79781668

匿名对象:没有名字的对象。格式如下:

new Person().showMessage();

当然,你也可以通过Person创建一个实例对象后,再去调用Person类中的方法,具体如下:

Person p = new Person(); //创建对象p.

//给对象的各个属性赋值。
p.name = "蛋蛋";
p.age = 6;
p.height = 1.1;

//调用类中的方法
p.showMessage();

匿名对象的使用场景:

(1)类中的方法仅被对象调用一

new Person().showMessage();	 //showMessage方法被对象调用一次的时候.

(2)匿名对象做实参传递

Person.show(new Person());      //匿名对象做实际参数。

匿名对象与非匿名对象对属性赋值的区别:

首先,看下面的代码,你感觉两者之间的区别是什么?

//非匿名对象
Person p = new Person();
p.name = "蛋蛋";
p.age = 6;
p.height = 1.1;
		

//匿名对象
new Perosn.name = "花花";
new Perosn.age = 21;
new Perosn.height = 1.2;

两者的最大区别:非匿名对象只是给对象p的三个属性赋值;匿名对象在给三个匿名对象的不同属性(单个属性)赋值。

匿名对象的内存分析:

非匿名对象:


匿名对象:


对于匿名对象需要注意:匿名对象执行完毕后,由于再无引用引用之,Java的自动回收机制会视作垃圾处理。


总结:匿名函数的知识点不难理解,但也要小心行事哦。希望我的文章对你有所帮助。


猜你喜欢

转载自blog.csdn.net/Vincent_Xupt/article/details/79781668