Scala的访问权限概述
/* 访问权限控制 1.公开的。不写修饰符
2.protected,保护的 在类的外部不能访问; 在子类中访问
3.private,私有的 在类的外部不能访问 在子类中不能访问 在伴生对象中可以访问
4.private[this] 只能被当前对象中使用 在类的内部使用 */
object Class13 {
object Person {
def test(p:Person):Unit={
//private在伴生对象中可以访问
println(p.password)
// private[this]在伴生对象中不能访问的
//println(p.money)
}
}
class Person() {
var name:String="tianyeshuai";//公开的
protected var birthday:String="2000-10-10";
private var password:String="123456"
private[this] var money:Int=100
def t():Unit={
println(money)
}
}
class Son extends Person(){
//2.protected在子类中可访问
println(birthday)
//3.private在子类中不能访问的
//println(password)
}
def main(args: Array[String]): Unit = {
val p1=new Person()
println(p1.name)
//2.protected在类的外部无法访问
//println(p1.birthday)
new Son()
//3.在伴生对象中访问 类的私有成员
Person.test(p1)
}
}