一、什么是scala
scala是一种编程式语言,函数是一个独立的类,可以自由传输;是一种纯面向对象的语言,它具备java的一切特性,并在其基础上进行了扩展。
二、scala的基本数据类型
2、变量和常量的声明
scala中通常用var来声明变量,可以改变;用val来声明常量,不可修改即不可对常量进行再赋值;不用指定数据类型,由Scala自己进行类型推测。
注意点: 在scala中每行后面不需要加分号,直接通过换行如来区分;但是一行中写了多个语句,语句与语句之间必须用分号来分割
例如:`
var age = 18 ; var name = “angelababy”
var heighat,score = 10
val sex = "male"
`
3、scala中的类和对象
class :修饰的称为伴生类;定义在class中的属性都是动态的,用于实例化 的;scala中的class类默认可以传参数,默认的传参数就是默认的构造函数。class 类属性自带getter ,setter方法。使用class时要new (必须new,除非在对象伴生用apply方法【在加载类的时候默认自动调用】已实经例化好),并且new的时候,class中除了方法不执行,其他都执行。
object: 修饰的称为伴生对象;定义在object中的属性(字段、方法)都是静 态的,main函数写在里面;scala 中的object是单例对象,相当于java中的工具类,可以看成是定义静态的方法的类.object不可以传参数。使用object时,不用new.
创建类
class Person{
val name = "zhangsan"
val age = 18
def sayName() = {
"my name is "+ name
}
}
在创建类时,可以在类名后面加入一个括号,括号中写定义的参数类型,括号中的参数就表示类的构造函数由括号内的参数组成。补充: ①当参数用var修饰那么可以通过对象修改其值;当参数用val修饰那么无法通过对象来修改值;当参数没有修饰符,那么在外部无法通过对象来调用。
②若想增加一个类的传入参数,则需要在声明的类中重写构造函数,这样就可以在mian函数中声明有增加的属性的对象,当然原来的对象也可以声明。
重写this函数:
/*
* 重写的构造函数,参数不能有修饰符
*/
def this (id:Int,name:String,facePower:Double ){
//首先要调用父构造函数
this(id,name)
fcp = facePower
}
创建对象
object Lesson_Class {
def main(args: Array[String]): Unit = {
val person = new Person()
println