Scala对象

本文介绍Scala中单例对象的使用方法及其与伴生对象的区别,通过实例展示了如何利用object实现计数器功能及作为工厂模式创建类实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Scala的世界中,对象object用于持有类的唯一对象(单例),使用object定义,常用于作为工厂或者组织静态方法。下面是一个简单的定义:

object Timer {
  var count = 0

  def currentCount(): Long = {
    count += 1
    count
  }
}

类似与Java中的静态方法,对象中的方法直接使用对象的名称来调用:

Timer.currentCount();                           //> res0: Long = 1

可以存在名称相同的一个对象和一个类,这个对象通常叫做伴生对象(companion object),常用来作为工厂:

class Bar(foo: String)

object Bar {
  def apply(foo: String) = new Bar(foo)
}

当然,这个类没有太多用处,除了省略new关键字:

val bar = Bar("barname") // vs. val bar = new Bar("barname")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值