Scala 面向对象编程之对象
1.Scala 中的 object
object 至关于 class 的单个实例,一般在里面放一些静态的 field 或者 method;
在 Scala 中没有静态方法和静态字段,可是可使用 object 这个语法结构来达到一样的目的。web
object 做用:编程
- 存放工具方法和常量
- 高效共享单个不可变的实例
- 单例模式
2.Scala中的伴生对象
- 若是有一个 class 文件,还有一个与 class 同名的 object 文件,那么就称这个 object是 class 的伴生对象,class 是 object 的伴生类;
- 伴生类和伴生对象必须存放在一个.scala 文件中;
- 伴生类和伴生对象的最大特色是,能够相互访问。
3.Scala中的apply方法
- object 中很是重要的一个特殊方法,就是 apply 方法;
- apply 方法一般是在伴生对象中实现的,其目的是,经过伴生类的构造函数功能,来实现伴生对象的构造函数功能;
- 一般咱们会在类的伴生对象中定义 apply 方法,当遇到类名(参数 1,…参数 n)时 apply 方法会被调用;
- 在建立伴生对象或伴生类的对象时,一般不会使用 new class/class() 的方式,而是直接使用 class(),隐式的调用伴生对象的 apply 方法,这样会让对象建立的更加简洁;
4.Scala 中的 main 方法
- 同 Java 同样,若是要运行一个程序,必需要编写一个包含 main 方法的类;
- 在 Scala 中,也必需要有一个 main 方法,做为入口;
- Scala 中的 main 方法定义为 def main(args: Array[String]),并且必须定义在 object 中;
- 除了本身实现 main 方法以外,还能够继承 App Trait,而后,将须要写在 main 方法中运行的代码,直接做为 object 的 constructor 代码便可,并且还可使用 args 接收传入的参数;
喜欢就点赞评论+关注吧app
感谢阅读,但愿能帮助到你们,谢谢你们的支持!svg