scala的访问权限

31 阅读1分钟
(一)Scala的访问权限概述

(1)默认访问权限。Scala中的默认访问权限相当于Java中的public,Scala中如果一个变量没有任何修饰符,就代表默认访问权限。作用域:全部

(2)protected访问权限。作用域:本类,子类

(3)private访问权限。作用域:类内部(伴生对象:定义方法传入类的对象)

(4)private[this]访问权限。

(二)private访问权限

private : 私有的。它的特点有如下三个。

(1) 在类的内部可以访问。

(2) 在类的外部不能访问。

(3) 在伴生对象中可以访问。

package level2
/*
访问权限限制

1.默认访问权限
2.使用 protected(被保护的)修饰符
(1) 在类的外部不能直接通过对象,属性方式来访问
 (2) 在子类中,通过super来访问protected的方法
3.private(私有的)
 (1)在子类中,无法访问。
*/
object class1 {
//name 属性具有默认的访问权限
class Father() {
  var name:String="小花"

  var gender:String="女"

  protected def test():Unit={
    println("test")
  }
}
//在子类中,通过super 来访问父类
class Son extends Father{
  // protected 修饰的成员,可以在子类中,访问
 super.test()
  println(gender)
  //private 修饰的成员,在子类种不可访问
  //super.test1()
  //println(age)
}
def main(args: Array[String]): Unit = {
  val son1=new Son()
  //类的外部可以访问。
  //protected属性,在类的外部无法访问
  //println(s1.gender)
}
}
(三)protected访问权限

protected : 受保护的。它的特点有如下4个:

(1) 在类的内部可以访问。

(2) 在类的外部不能访问。

(3) 在伴生对象中可以访问。

(4) 在子类中可以访问,与之对应的是:private修饰的,在子类中无法访问