JavaSE基础 - 匿名对象

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

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的自动回收机制会视作垃圾处理。


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


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值