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

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


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据梦想家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值