scala基础与实践上

来源:互联网 发布:c语言基础知识txt下载 编辑:程序博客网 时间:2024/06/09 20:32
Scala基础与实践
定义常量:val gender = "male"
定义变量:var
定义函数:def hello(name:string):string{}
函数最后一行默认为返回值。
函数如果没有参数的话,可以不写括号
匿名函数:
(x:int,y:int)=>x+y
可以吧函数赋给常量:  val add = (x : int, y : int) => x + y  (调用时用add(1,2))
函数柯里化:def add2(x:int)(y:int) = x + y 调用时: add2(1)(2)
*代表了多个参数的意思
默认参数:def hello(name:string = "chinaspark"):string={}
判断:val a = if(x>0) 1 else 0
for循环:for(i <- 1 to 10){println(i)}
综合 for(i <- 1 to 10 if i % 2 == 0){println(i)}
在类没有参数的情况下可以不写括号
class person{
var name : String = _ //会生成getter和setter方法
val age = 10 //只会生成getter方法


}
//1.主构造器直接跟在类名后面,主构造器中的参数,最后会被编译成字段
//2.主构造器执行的时候,会执行类中的所有语句
//3.假设参数声明时不带val和var那么相当于private[this]
class person(name : string ,val age : int){
println("this is the primary constructor!")
//1.附属构造器名称为this
//2.每一个附属构造器必须调用主构造器
def this(name:String, age : int , gender : String){
this(name,age)  
}
}
函数继承:
class student(name : string, age : int, val major : string) extends persion(name,age){}


重写父类方法:
override def toString = "override toString..."
主构造函数执行的时候会把所有没有包含在方法里的句子全部执行一遍  
0 0
原创粉丝点击