Scala对象object

Scala中的单例对象是一种全局唯一的实体,不需实例化即可调用其方法。它们延迟加载,通常用于提供程序的起点,如实现main方法。单例对象允许继承,且其成员为全局可访问。在需要确保只有一个实例存在且需要全局访问点的情况下,单例对象是一个理想的选择。
摘要由CSDN通过智能技术生成

1.1 什么是Scala中的单例对象?

单例,单例,顾名思义,它只有一个实例,没有更多了。这就是它区别于class类的地方。

Scala是一种面向对象的编程语言,常量/变量/方法等必须要定义在class或object里面才行,在其他之外的地方是不能被定义的。就是说object对象、class类是唯二可定义其成员的地方。

定义对象的关键字是object,它是一个实例,不是一个蓝图,因此它不需要外部调用即可执行其方法。

和惰性变量一样,单例对象是延迟创建的,当它第一次被使用时创建。

当然可以创建多个单例对象,也可以在类或方法中定义对象,自然也可以在一个对象或类中引用另一个对象中的方法或常量。如果要在一个脚本中引用另一个脚本中的对象的方法,则需要import进来对象的路径。

注意:一个单例对象是全局唯一的,所以具有稳定路径。即你不能创建两个同样名称的对象,不再同一个路径也不行,任何地方都不行。

1.2 为什么选择单例对象?

每个程序都需要一个从执行开始的点。 在OOPS中,类需要对象才能执行。 但是需要首先执行main()方法才能调用该类的其他成员。

为了在scala中执行main()方法,许多面向对象的编程语言都使用static关键字,但是scala编程语言中没有static关键字。

这就是为什么在Scala中我们使用定义了main方法的单例对象。

1.3 单例对象的特征 (Features of singleton object)

使用object关键字创建。

对象中的成员是全局成员,即可以从程序中的任何位置调用成员。

单例对象无法创建实例。 即它只能有唯一的实例就是它本身。

允许继承,即继承可以扩展类和特征。 (it can extend class and traits.)

如果要在一个单例对象中引用 另一个单例对象中的成员,我们将使用 引用单例对象的名称 . {引用单例对象的名称}. 引用单例对象的名称.{成员名称} 的方法引用。




参考资料:
9、Scala对象object

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值