【图文详细 】Scala——对象

本文详细介绍了Scala中的对象概念,包括单例对象作为静态方法和字段的替代品,伴生对象及其与类之间的特殊关系,允许相互访问私有成员。讲解了apply方法在集合创建中的应用,App特质简化main方法的使用,以及抽象类的概念和使用场景。
摘要由CSDN通过智能技术生成

2、Scala 对象 

 

2.1、单例对象 
在某些应用场景下,我们可能不需要创建对象,而是想直接调用方法,但是 Scala 语言并不 支持静态成员,没有静态方法和静态字段,Scala 通过单例对象 object 来解决该问题

1、存放工具方法和常量

2、高效共享单个不可变的实例

3、单例模式

package com.mazh.scala.day2.oop 
 
import scala.collection.mutable.ArrayBuffer 
 
/** 
  * 作者: 李涛 https://blog.csdn.net/qq_42246689 
  */ 
object SingletonDemo { 
  def main(args: Array[String]) { 
    // 单例对象,不需要 new ,用【类名 . 方法】调用对象中的方法
     val session = SessionFactory.getSession() 
    println(session) 
  } 
} 
 
object SessionFactory{ 
 
  // 该部分相当于 java中的静态块 
 var counts = 5 
  val sessions = new ArrayBuffer[Session]() 
  while(counts > 0){ 
    sessions += new Session 
    counts -= 1 
  } 
 
  // 在 object中的方法相当于 java中的静态方法 
  def getSession(): Session ={ 
    sessions.remove(0) 
  } 
} 
 
class Session{ 
 
} 

总结:

1、object

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值