微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

在这里插入图片描述


文章目录


        

伴生对象

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

在这里插入图片描述


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

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

在这里插入图片描述

定义伴生对象

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

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

示例

参考代码

在这里插入图片描述

private [this] 访问权限

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

示例

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

示例代码

在这里插入图片描述


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


apply 方法

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

在这里插入图片描述


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

定义

在这里插入图片描述

创建对象

在这里插入图片描述

示例

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

参考代码

在这里插入图片描述


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

在这里插入图片描述

Alice菌 发布了161 篇原创文章 · 获赞 1375 · 访问量 37万+ 私信 关注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐