介绍
与 Java 的访问权限有些不同,scala访问权限分为:public(默认),private,protected
Scala 中 属性 和 方法 的 默认 访问权限为
public,不写访问权限,就是public。Scala 中无public关键字private为私有权限,只在 类的内部 和 伴生对象 中可用。protected为受保护权限,同一个类、子类 可以访问,同包 无法访问private[包名]增加包访问权限,包名下的其他类也可以使用
| private | private[包名] | protected | public(默认) | |
|---|---|---|---|---|
| 同一个类(伴生对象) | 可访问 | 可访问 | 可访问 | 可访问 |
| 包访问 | 不可访问 | 可访问 | 不可访问 | 可访问 |
| 子类 | 不可访问 | 不可访问 | 可访问 | 可访问 |
| 不同包非子类 | 不可访问 | 不可访问 | 不可访问 | 可访问 |