本文概述
- Scala示例:专用访问修饰符
- Scala示例:受保护的访问修饰符
- Scala示例:无访问修饰符
Scala仅提供三种类型的访问修饰符, 如下所示:
- 没有编辑
- protected
- private
下表包含有关访问修饰符的可访问性的信息。
Modifier | 外包装 | Package | Class | Subclass | Companion |
---|---|---|---|---|---|
无访问修饰符 | Yes | Yes | Yes | Yes | Yes |
Protected | No | No | Yes | Yes | Yes |
Private | No | No | Yes | No | Yes |
class AccessExample{private var a:Int = 10def show(){println(a)}}object MainObject{def main(args:Array[String]){var p = new AccessExample()p.a = 12p.show()}}
输出
error: variable a in class AccessExample cannot be accessed in AccessExamplep.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示例:无访问修饰符在scala中, 当你不提及任何访问修饰符时, 它将被视为no-access-modifier。与java中的public相同。它的限制最少, 可以从包装内或包装外的任何地方轻松访问。
class AccessExample{var a:Int = 10def show(){println(" a = "+a)}}object MainObject{def main(args:Array[String]){var a = new AccessExample()a.show()}}
输出
a = 10
推荐阅读
- Scala数组介绍和用法
- Spring Boot -- 启动流程分析之ApplicationContext 中
- OBEX 4. OBEX Application Framework
- 字节小程序关于在安卓机型下input聚焦时内容被撑走
- 将预装APP刷机包里删除VIVO x6刷机教程
- Android——gradle找不到的坑
- Android作为CXF客户端调用服务端。
- 交叉编译-如何编译Android平台的可执行程序
- QT-Deploying a Qt5 Application Linux