scala程序设计

来源:互联网 发布:青岛广电网络客服电话 编辑:程序博客网 时间:2024/06/10 16:56

4.4 单例对象

    在scala中创建单例对象使用object关键字,因为单例对象无法初始化,所以不能给他的主构造函数传递参数。

   例子:

            

  4.5 独立对象和伴生对象

    上边的MarkerFactory是个独立对象的例子。他并未自动关联到任何一个类上,即便他管理了Marker的实例。scala可以创建一个关联到类上的单例,同

类共享相同的名字,称为伴生对象,对应的类就称为伴生类

     

    

    每个类都可以有伴生对象,他们跟伴生类写在同一个文件中。伴生对象在scala中很常见,他们提供了在类一级进行操作的便捷方法。

同时,他们还可以作为scala缺少静态成员的变通措施。


5.2 any类型

    在scala李,any让我们可以持有任何类型对象的引用。any是一个抽象类,它有如下方法:!=(), ==(), anInstanceOf(), equals(), hashCode(),

isInstanceOf(), toString()

   Any的直接后代是AnyVal和AnyRef, 对于所有可以映射为java基类的scala类型,比如,Int,Double,AnyVal充当着他们的基类。另一方面,

AnyRef是所有引用类型的基类。AnyVal没有提供任何额外的方法,AnyRef则包含了java的object方法,比如notiry(), wait()和finalize()

   AnyRef直接映射为java的object,在scala里使用它,就如同在java李使用object一样。


0 0
原创粉丝点击