(1)单例对象
Scala中没有静态方法和静态字段,Scala中使用object对象来实现同样的效果,object对象定义了某个类的单个实例,如:
(2)伴生对象
在Scala中,可以通过类与类同名的“伴生”对象来实现既有实例方法又有静态方法的类。如例2-7所示。在Scala中,可以通过类与类同名的“伴生”对象来实现既有实例方法又有静态方法的类。定义类class University,类class University拥有自己的属性id,number(id直接调用伴生对象的newStudenNo方法赋值),类class University拥有自己的方法aClass;同时定义类class University的伴生对象object University,伴生对象object University拥有自己的属性学号studentNo,及新增一个学号的方法newStudenNo,返回新学号。伴生对象object University相当于Java的静态类,无须实例化,可以直接调用伴生对象的方法。如例2-7所示。
【例2-7】Scala伴生对象示例。(www.daowen.com)
类和它的伴生对象可以相互访问私有属性,类和伴生对象需保存于同一个源文件中。使用object伴生对象定义配置文件的应用较多。
运行结果如图2-7所示。使用伴生对象University无需new一个对象实例,直接调用伴生对象University的newStudenNo方法,将studentNo学生学号加1,打印输出结果1;然后第二次调用伴生对象University的newStudenNo方法,学生学号再加1,打印输出结果2。
图2-7 类和伴生对象
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。