class Teacher private(var name1:String,var age1:Int){//主构造器(私有)
//类前面加private表示
//定义在类后面的是主构造器
//类的主构造器的属性会定义为类的成员变量,因此,主构造器属性不能和类成员重复
//如果主构造器成员属性没有val和var修饰的话,该属性不能被访问
//如果属性用var修饰的话相当于对外提供了get和set方法
//如果属性用val修饰的话,只提供了get方法
//如果类的主构造器是private修饰的则表示为私有属性外部不能访问,ser和get方法不能用
private var name : String= _
var age : Int= _
var sex : String =_
var pov :String = _
//定义一个辅助构造器,可以定义多个辅助构造器
private def this(name:String,age:Int,sex:String)={//private修饰表示私有,外部不能访问
this(name,age) //在辅助构造器中必须先调用主构造器
this.sex = sex
}
def this(name:String,age:Int,pov:String,sex:String)={
this(name,age)
this.pov=pov
}
//定义一个方法 私有方法
private def method(a:Int,b:Int):Int ={
a+b
}
}
// object Teacher 叫这个类的伴生类
object Teacher{
def apply(name:String,age:Int):Teacher= {
new Teacher(name,age)
}
def main(args: Array[String]): Unit = {
//在半生对象中可以访问私有属性和方法
val teacher: Teacher = new Teacher("大海",31)
println(teacher.name1)
println(teacher.method(1,2))
val dahai: Teacher = Teacher("dahai",29)
print(dahai.name1)
}
}
scala类的性质
猜你喜欢
转载自blog.csdn.net/hanyong4719/article/details/83150864
今日推荐
周排行