Scala教程
Scala面向对象
Scala高级

Scala 访问修饰符

Scala 访问修饰符

访问修饰符用于定义数据和我们的代码对外界的可访问性。您可以对类、特征、数据成员、成员方法和构造函数等进行可访问的应用。Scala 提供了对所有访问的最低可访问性。您可以根据您的应用需求对您的代码应用任何访问修饰符。
Scala 仅提供三种类型的访问修饰符,如下所示:
无修饰符 Protected Private
在scala中,如果你没有提到任何访问修饰符,它被视为没有修饰符。
下表包含有关访问修饰符的可访问性的信息。
Modifier Outside package Package Class Subclass Companion
No access modifier Yes Yes Yes Yes Yes
Protected NO NO Yes Yes Yes
Private NO NO Yes NO Yes

Scala 示例: 私有访问修饰符

在 Scala 中,私有访问修饰符用于使数据只能在声明它的类中访问。它是最受限制的,并将您的数据保持在有限的范围内。私有数据成员不会继承到子类中。
class AccessExample{
     private var a:int = 10
     def show(){
         println(a)
     }
}
object MainObject{
    def main(args:Array[String]){
        var p = new AccessExample()
        p.a = 12
        p.show()
    }
}
输出:
error: variable a in class AccessExample cannot be accessed in AccessExample
        p.a = 12
          ^
one error found

Scala 示例: 受保护的访问修饰符

受保护的访问修饰符只能在类、子类和伴随对象中访问。声明为受保护的数据成员在子类中继承。让我们看一个例子。
class AccessExample{
     protected var a:int = 10
}
class Subclass extends AccessExample{
    def display(){
        println("a = "+a)
    }
}
object MainObject{
    def main(args:Array[String]){
        var s = new SubClass()
        s.display()
    }
}
输出:
a = 10 

Scala 示例: No-Access-Modifier

在 Scala 中,当您不提及任何访问修饰符时,它被视为无访问修饰符。它与java中的public相同。它的限制最少,可以从包内或包外的任何地方轻松访问。
class AccessExample{
     var a:int = 10
     def show(){
         println(" a = "+a)
     }
}
object MainObject{
    def main(args:Array[String]){
        var a = new AccessExample()
        a.show()
    }
}
输出:
a = 10
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4