Java基础:匿名对象

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

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

原文链接:https://blog.csdn.net/Vincent_Xupt/article/details/79781668

猜你喜欢

转载自blog.csdn.net/qq_43619271/article/details/106267006