快学scala第6章 单例对象

本文介绍了Scala编程中的单例对象,包括它们如何实现静态功能、唯一的构造器以及延迟初始化。同时,详细阐述了伴生对象的概念,它们与同名类的互访特权。此外,讨论了单例对象扩展类或特质的用法,以及apply方法在创建对象时的便利性。最后提到了作为应用程序入口的应用程序对象,并简单提及了枚举的使用。
摘要由CSDN通过智能技术生成


1.单列对象

1.scala没有static关键字,object实现static的功能。单列对象本身是一个对象,是静态对象。
2.单例对象只有一个主构造器且没有参数。
3.主构造器在单例对象第一次被使用时调用。

object Persion{
	val name:String="hahah"
}

2.伴生对象

1.当单例对象与一个同名的类在同一个源文件中时,称单例对象为类的伴生对象,称类为单例对象的伴生类。他们之间互相称作伴生类与伴生对象。
2.伴生类和伴生对象可以互相访问private修饰的成员。

class Persion{
	val age = Persion.age //访问伴生对象的私有属性
}
object Persion{
	private val age = 5
}

3.单例对象扩展类或特质

1.当单例对象扩展了类或特质后,其本身是一个对象,是一个扩展了基类或特质的类的对象。

4.单例对象的apply()方法

1.单例对象的apply()方法通常返回一个伴生类的新对象。
2.好处是嵌套调用时可以省略new关键字。
如:Array(Account(5.4),Account(5.5))

class Account(val dolar:Double){
}
object Account{
	def apply(dolar:Double){
		new Account(dolar)
	}
}

var account1 = Account(5.5) //调用object的apply()方法
var account2 = new Account(5.5) //调用class的主构造器this(Double)

5.应用程序对象

object Hello extends App{
println(“Hello World!!!”)
}

6.枚举

以后再看
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值