object HelloWorld {
def main(args: Array[String]): Unit = {
println("Hello Scala")}
一、朗费罗说
不是享乐,也不是受苦;而是行动,在每个明天,我们命定的目标和道路,都要比今天前进一步
——《人生礼赞》
No one but ourselves can degrade us.
二、类和对象
经过前两章的学习,相信大家已经对Scala有了初步的认识,接下来的内容很丰富,富含的知识很多,如果在学习过程中有什么疑问可以在公众号中留言给我。下面开始介绍今天的内容:类和对象。
类的定义:
class CheckPoint {
//这里是类定义
}
通过如下代码创建CheckPointS对象:
new CheckPoint
在类的定义中,你会填入字段和方法,这些统称为成员。前面我们了解到,定义变量用val或var,定义方法用def。如下:
class CheckPoint {
//定义变量
var index=0
//定义方法
def ChangeIndex():Unit={
index=index+1
}
def GetIndex():Int = {
return index // 可去掉return
}
}
//实例化对象
val cp=new CheckPoint
println(cpc.index) // 0
cp.ChangeIndex()
println(cp.index) // 1
这个时候我不希望index能再外部访问,那么只需要在前面加上private即可,跟Java中是一样的:
private var index=0
这个时候通过外部是无法访问的,也无妨改变其值。还有一点需要注意的是,在方法中可以不定义return,在没有显示的return语句时,Scala方法返回的值该方法计算出的最后一个值或是最后一个表达式的值。
单例对象
在Scala中是不允许有静态成员的,对此,Scala提供了单例对象。单例对象的定义看上去和类定义很像,只不过class关键字换成了object。当单例对象跟类共用一个名字的时候,它被称作这个类的伴生对象,他们必须在同一个源码文件中,同时,类又叫做这个单例对象的伴生类。类和它的伴生对象可以互访对方的私有成员。
要运行一个Scala程序,必须提供一个独立对象的名称,这个独立对象需要包含一个main方法,与Java中的main方法类似,同样需要接受一个Array[String]作为参数,结果类型为Unit,大家可以把main方法当做程序的入口。如下:
object Animal {
def main(args:Array[String]) = {
......
}
}
当然除此之外还有另外一种方式来代替main方法,那就是继承App特质,此方法无需创建main方法,如下:
object Animal extends App {
....
}
但是在实际的开发中,大家通用的是定义main方法来作为程序的入口。
今天分享的就这些,大家有什么疑问的话可以在公众号留言,
—— E N D ——
配图:百度图片
文字:摘抄自《Scala编程》
公众号:亮仔大数据
长
按
关
注
亮仔大数据
微信号 : bigdata_lz
同舟共济