1.每个类都是public,都有一个主构造器,主构造器就跟在类名后面。
主构造器中的参数,最后会被编译成字段
主构造器执行的时候会执行类中所有的语句
假设参数声明不用var和val,相当于private[this],只能类的内部使用
calss person (name:String,age:Int){
var gender : Strinh = _
}
2.附属构造器名称是this
每一个附属构造器必须首先调用存在的子构造器或者附属构造器
calss person (name:String,age:Int){
var gender : String = _
this(name,age)
this.gender = gender
}
3继承
class Student(name:String,age Int,val major :String) extends Person(name,age){
}
4覆盖方法或字段
要使用override关键子,没有的话会报错,要带上父类的var或者 val
class Student(name:String,age Int,val major :String) extends Person(name,age){
override def toString = " override toString "
override var gender = ""
}
5,.getter和settervar :getter 和 setter
val :getter