java匿名对象 回收_Java 匿名对象

我们知道一般实例化一个对象的格式,如下:

Car car = new Car();

其中,变量名 car 就是 new Car() 这个对象的名字。car 是引用类型的变量,它的值存放的是对象的引用(或地址),通过 car 这个变量我们就可以间接使用对象。

那所谓 Java 匿名对象,简单理解就是对象没有名字嘛。那怎样的对象会没有名字呢?如下:

new Car();

那这种匿名对象如何使用呢?所谓使用就是指调用对象的属性和方法。如下:

new Car().door;

new Car().start();

这两行代码有两个 new 关键字,说明实例化了两个对象,并不是一个哦。

由于这两个对象没有名字,所以这两行代码执行完以后,我们就无法再使用它们了,然后它们将会被 GC(Java 垃圾回收机制)当作垃圾回收掉。

所以,匿名对象只能被调用一次。

那匿名对象有什么用处呢?没什么卵用。

唯一有点用处的地方就是,当对象对方法或属性仅进行一次调用的时候,使用匿名对象可以少写一些代码,代码看起来更简洁。

//匿名对象调用方法

new Car().start();

//非匿名对象调用方法

Car car = new Car();

car.start();

看到了吧,使用匿名对象只需要一行代码,而非匿名对象需要两行代码。

另外,匿名对象也可以作为参数传递给方法

//给汽车添加一个重启方法

public void restart(Car car) { // 汽车熄火了,需要传入另一辆汽车帮忙点火重新启动

//...

}

Car car = new Car();

car.restart(new Car()); //匿名对象作为参数使用

以后看到匿名对象的使用,相信你不会再觉得别扭或奇怪啦。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值