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

        本篇作为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方法中创建该类的对象,并打印姓名和年龄

参考代码
在这里插入图片描述


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

发布了164 篇原创文章 · 获赞 1379 · 访问量 37万+

猜你喜欢

转载自blog.csdn.net/weixin_44318830/article/details/104059780