scala快速入门系列【伴生对象】

2021-01-26 11:19:20 浏览数 (1)

本篇作为scala快速入门系列的第二十篇博客,为大家带来的是关于伴生对象的内容。

伴生对象

在Java中,经常会有一些类,同时有实例成员又有静态成员。例如:

在scala中,要实现类似的效果,可以使用伴生对象来实现。

我们还可以使用伴生对象来实现快速创建对象,例如:

定义伴生对象

一个class和object具有同样的名字。这个object称为伴生对象,这个class称为伴生类

  • 伴生对象必须要和半生类一样的名字
  • 伴生对象和伴生类在同一个scala源文件中
  • 伴生对象和伴生类可以互相访问private属性

示例

  • 编写一个CustomerService类,有一个save方法,打印 服务类名称:保存客户
  • 编写一个CustomerService伴生对象,定义一个私有变量,用于保存服务类名称
  • 创建CustomerService对象,调用save方法

参考代码

private [this] 访问权限

如果某个成员的权限设置为 private[this],表示只能在当前类中访问。伴生对象也不可以访问。

示例

  • 定义一个Person类,包含一个name字段
  • 定义Person类的伴生对象,定义printPerson方法
  • 测试伴生对象是否能访问private[this]权限的成员

示例代码

上述代码,会编译报错。但移除掉 [this] 就可以访问了


apply 方法

我们之前使用过这种方式来创建一个Array对象。

这种写法非常简便,不需要再写一个new,然后敲一个空格,再写类名。我们可以通过伴生对象的apply方法来实现。

定义

创建对象

示例

  • 定义一个Person类,它包含两个字段:姓名和年龄
  • 重写apply方法,使用Person类名就可以创建对象
  • 在main方法中创建该类的对象,并打印姓名和年龄

参考代码


本期的内容分享就到这里了,喜欢的小伙伴们记得点个赞,持续关注哟~下一篇将为大家带来继承的相关内容,敬请期待٩(๑>◡<๑)۶

0 人点赞