Scala的对象:
1.Scala是一个纯粹的面向对象的语言,不允许有任何破坏对象模型的机制存在,比如类的静态变量,静态函数等。
2.虽然Scala没有静态成员,但是有相应的替代品:单例对象(singleton object)
3.对象的构造器在该对象第一次被使用的时候调用。如果一个对象从未被使用,那么其构造器也不会被执行。
4.对于任何你在Java或C++中会使用单例对象的地方,在Scala中都可以用对象来实现:
- 作为存放工具函数或者常量的地方。
- 高效的共享单个不可变的实例。
- 需要用单个实例来协调某个服务时。
5.当单例对象与某个类共享同一个名称时,他被称作是这个类的伴生对象:companion object。但是必须在同一个源文件里定义类和他的伴生对象。
类被称为是这个单例对象的伴生类:companion class。类和他的伴生对象可以互相访问其私有成员。
6.