scala單例模式

2021-09-28 19:17:59 字數 1056 閱讀 7681

package cn.tedu.objectx

object singleton

object a

}// 餓漢式

class b private () {}

object b

抽象類package cn.tedu.objectx

object abstractdemo package abst

abstract class animal {

def sleep = println("sleeping~~~")

// def eat(): unit

def eat

class dog extends animal {

override def eat = println("eating~~~")
伴生物件

package cn.tedu.objectx

import scala.beans.beanproperty

// 用object定義的結構稱之為伴生物件

object persondemo {

def main(args: array[string]): unit = {

var p = new person

// println(p.name)

// p.name = "amy"

// p.age = -15

println(p.getname)

class person {

// 在scala中,要求變數在定義的時候必須初始化

// 在scala中,不建議屬性值給null

// _不表示值,而是在初始化這個物件的時候系統會給name乙個預設值

// 在scala中,如果不指定,許可權修飾符預設是public

@beanproperty var name: string = _

@beanproperty var age: int = _

def eat = println(「吃飯~~~」)

Scala實現單例模式

單例模式是一種常用的軟體設計模式。在它的核心結構中只包含乙個被稱為單例的特殊類。通過單例模式可以保證系統中乙個類只有乙個例項。對於系統中的某些類來說,只有乙個例項很重要,例如,在scala中是沒有static這個東西的,但是我們可以使用object來實現 scala中使用單例模式時,除了定義的類之外...

單例模式 單例模式

餓漢式 急切例項化 public class eagersingleton 2.宣告靜態成員變數並賦初始值 類初始化的時候靜態變數就被載入,因此叫做餓漢式 public static eagersingleton eagersingleton new eagersingleton 3.對外暴露公共的...

scala學習筆記 單例

scala 中沒有 static 關鍵字,但是它也為我們提供了單例模式的實現方法,那就是使用關鍵字 object。scala 中使用單例模式時,除了定義的類之外,還要定義乙個同名的 object 物件,它和類的區別是,object物件不能帶引數。當單例物件與某個類共享同乙個名稱時,他被稱作是這個類的...