Scala面向对象编程之对象

Scala中的object

object 相当于 class 的单个实例,通常在里面放一些静态的 field 或者 method;
在Scala中没有静态方法和静态字段,但是可以使用object这个语法结构来达到同样的目的。
object作用:
1.存放工具方法和常量
2.高效共享单个不可变的实例
3.单例模式
举例说明
java单例
在这里插入图片描述
在这里插入图片描述
运行结果
在这里插入图片描述
scale单例
在这里插入图片描述

Scala中的伴生对象

1、如果有一个class文件,还有一个与class同名的object文件,那么就称这个object是class的伴生对象,class是object的伴生类;
2、伴生类和伴生对象必须存放在一个.scala文件中;
3、伴生类和伴生对象的最大特点是,可以相互访问;
举例说明:
在这里插入图片描述

Scala中的apply方法

1、object 中非常重要的一个特殊方法,就是apply方法;
2、apply方法通常是在伴生对象中实现的,其目的是,通过伴生类的构造函数功能,来实现伴生对象的构造函数功能;
3、通常我们会在类的伴生对象中定义apply方法,当遇到类名(参数1,…参数n)时apply方法会被调用;
4、在创建伴生对象或伴生类的对象时,通常不会使用new class/class() 的方式,而是直接使用 class(),隐式的调用伴生对象的 apply 方法,这样会让对象创建的更加简洁;
举例说明:
(1).简化创建对象
在这里插入图片描述
(2).工厂方法
在这里插入图片描述

Scala中的main方法

1、同Java一样,如果要运行一个程序,必须要编写一个包含 main 方法的类;
2、在 Scala 中,也必须要有一个 main 方法,作为入口;
3、Scala 中的 main 方法定义为 def main(args: Array[String]),而且必须定义在 object 中;
4、除了自己实现 main 方法之外,还可以继承 App Trait,然后,将需要写在 main 方法中运行的代码,直接作为 object 的 constructor 代码即可,而且还可以使用 args 接收传入的参数;
案例说明:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值