单例对象:
object Accounts {
private var lastNumber = 0
def newUniqueNumber() = {
lastNumber += 1; lastNumber
}
}
当应用程序中需要一个新的唯一账号时,调用Account.newUniqueNumber()方法即可
伴生对象:
class Account {
val id = Account.newUniqueNumber()
private var balance = 0.0
def deposit(amount: Double) {balance+=amount}
}
object Account { //伴生对象
private var lastNumber = 0
def newUniqueNumber() = {
lastNumber += 1; lastNumber
}
}
apply方法:返回伴生类的对象
def apply(initialBalance: Double) = {
new Account(newUniqueNumber(), initialBalance)
}
枚举:
object TrafficLightColor extends Enumeration{
// val Red, Yellow, Green = Value
val Red = Value(0, "Stop")
val Yellow = Value(10) //名称为"Yellow"
val Green = Value("Go") //ID为11
}
浙公网安备 33010602011771号