3.1 类、字段和方法
类和字段与java类似。
方法推荐尽量避免使用返回语句,尤其是多条返回语句。代之可以把每个方法当作是创建返回值的表达式。如下:
3.2 分号推断
除非以下情况的一种成立,否则行尾被认为有分号:
1.由一个不能合法作为语句结尾的字结束。
2.下一行开始不能作为语句开始。
3.行结束与括号内部。
3.3 Singleton对象
单例对象用object关键字代替class。
当单例对象与某个类共享一个名称时,它就被称为是这个类的伴生对象。类和它的伴生对象必须定义在一个源文件里。类被称为是这个单例对象的伴生类,类和它的伴生对象可以互相访问其私有成员。
类和单例对象的差别是,单例对象不带参数,而类可以。因为单例对象不是用new关键字实例化的,所以没机会传递给它实例化参数。每个单例对象都被实现为虚构类的实例,并指向静态的变量,因此它们与java静态类有着相同的初始化语义。单例对象在第一次被访问的时候才会被初始化。
3.4 Scala程序
能够独立运行的Scala程序,就必须创建有main方法的单例对象。任何拥有合适前面main方法的单例对象都可以用来作为程序的入口点。
3.5 Application特质
如图ÿ