[scala之五]对象

class TestObject {
  private var lastNum = 0
  def newUniqueNum()={
    lastNum += 1
    lastNum
  }
}

/**
 * 单例对象:提供静态方法或字段
 * Accounts.newUniqueNum()
 * 构造器在对象第一次被使用时执行;对象不提供构造器参数
 * 使用:
 * ①存放工具函数或常量
 * ②高效共享单个不变实例
 * ③需要单例协调某服务时
 */
object Accounts{
  private var lastNum = 0
  def newUniqueNum()={
    lastNum += 1
    lastNum
  }
}

/**
 * 伴生对象:与类同名同源文件的对象
 * 好处:既可以使用实例方法,又可以使用静态方法
 * 其他:类可以和它的伴生对象互访私有特性
 */
object TestObject{
  private var lastNum = 0
  def newUniqueNum()={
    lastNum += 1
    lastNum
  }
}

/**扩展对象:一个对象可以扩展一个类或若干特质,并拥有其所有特性
 * 使用:extends
 */

/**定义apply()方法
 * 一般在伴生对象中进行定义,以方便调用其类的方法
 */


/**应用程序对象:
 *
 */
object Hello extends App{
  println("hello")
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值