Programming in scala学习笔记(三)Classes and Objects

1. 任何方法中传入的形参都是val的,是不能在方法中改变它的。

 

2. 如果函数体很小的话可以去掉大括号

注意上面的private,默认不加是public

 

 

3. 分号分隔语句

如果语句在同一行的话,可以用分号分隔

 

4. Singleton Objects

Scala跟java不一样,没有static成员,然而,scala有Object,Object的定义类似于class。就是把class换成object,首字母都是小写。

当发现object和class重名时,这个object就称为companion object(伴随对象),这个class就称为object的companion class(伴随类),伴随类和伴随对象必须同时写在一个源文件中。两个可公用对方的private成员。

示例程序如下:

============================================


=======================================================

上面代码中有一行:val acc =new ChecksumAccumulator;这里用了new,说明这里是实例化一个class的对象,object是不能用new实例化的但是object可以继承父类和trait。且两者可同时继承。

调用object中的属性或者方法直接写object的名字打点”.”调用,跟java里面static元素调用是一样一样一样的。


没有与class同名的object叫做standalone object,用法主要有:

l  作为一个实用的工具函数集合;

l  作为一个scala的应用入口。

 

5. Scala application(scala应用程序)

为了能够执行scala的应用程序,必须写入口代码。

入口代码的特征:

Standalone Object中;

定义一个main主函数;

主函数参数类型是Array[String],无返回值(返回值是Unit类型)

这个函数入口用到了另外一个object——CheckSumAccumulator,这个object是伴随object,要将伴随的class和object写到一个文件中,然后跟object Summer一起编译。编译的语句如下:


用scalac或者fsc(for fast scala compiler)编译。

编译完之后,执行语句:

 

6.Scala application Trait

继承trait——Application,然后在object中写自己的代码就可以了。

 

这个有个缺点,就是不能往里传参。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值