Scala 之 apply()

学习Scala之前,在JavaScript里常使用apply()方法。

class Account private (val id: Int, initialBalance: Double) {
  private var balance = initialBalance
}

object Account {

  def newUniqueNumber(): Int = {
    // 随便写的
    9527
  }

  def apply(initialBalance: Double) = new Account(newUniqueNumber(), initialBalance)
}

object Main {
  def main(args: Array[String]): Unit = {
    // 注意:没有new
    val acct = Account(1000.0)
    
    // a是一个长度为1的数组,第一个元素值为100
    var a = Array(100)
    println("a.length=" + a.length)
    println("a(0)=" + a(0))

    // b是一个长度为100的数组,数组里的元素都是null
    var b = new Array(100)
    println("b.length=" + b.length)
    println("b(0)=" + b(0))
  }
}

  • https://blog.matthewrathbone.com/2017/03/06/scala-object-apply-functions.html
  • https://javabeat.net/using-apply-unapply-methods-scala/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值