類
/**
- 主構造器的參數列表要放到類名的後面,和類名放在一起
*val修飾的構造器參數不可改變,var修飾的構造器參數具有可變性 - @param name
- @param age
- @param faceValue
*/
class StructDemo(val name : String , var age : Int , faceValue : Int) { //構造器
var gender: String = _
def getFaceValue( ) : Int = {
faceValue
}
//輔助構造器
def this(name: String, age: Int, faceValue: Int, gender: String){
this(name,age,faceValue)//輔助構造器第一行必須先調用主構造器
this.gender = gender
}
}
object StructDemo{
def main(args: Array[String]): Unit = {
// val s = new StructDemo(“ningning”, 26,98)
val s = new StructDemo(“ningning”, 26, 98, “male”)
s.age = 16
//s.name = “tingting” //報錯,用val修飾的是不可變的
println(s.name) //用va修飾的是不可變的,能正常運算
println(s.age)
// println(faceValue) //不用val修飾,不能引用,只能在構造器中定義構造函數
println(s.getFaceValue())
println(s.gender)
}