包、类、对象、成员的访问权限:
伴生类、伴生对象的访问权限:
点击(此处)折叠或打开
-
package spark{
-
package navigation{
-
private[spark] class Navigator{ //将Navigator的可见度扩展至spark,spark包下的所有包、类、对象都可以访问Navigator
-
protected[navigation] def useStarChart() {} //被protected修饰,可以被Navigator以及它的子类(类似于java),以及navigation下的所有内容访问
-
class LegOfJourney {
-
private[Navigator] val distance =100
-
}
-
private[this] var speed = 200 //只有本对象能访问,该类其它实例不能访问,类似于java中的private变量,而且没有getter方法
-
}
-
}
-
-
package launch{
-
import navigation._ //因为launch与navigation平级,所以必须import
-
object Vehicle {
-
private[launch] val guide = new Navigator //因为launch是spark的子包。所以可以访问
-
}
-
}
- }
伴生类、伴生对象的访问权限:
点击(此处)折叠或打开
-
class PackageOps_Advanced{
-
import PackageOps_Advanced.power
-
private def canMakeItTrue = power >10001 //伴生类可以访问伴生对象里面的所有内容
-
}
-
-
object PackageOps_Advanced{
-
private def power = 10000
-
-
def makeItTrue(p : PackageOps_Advanced): Boolean = { //伴生对象可以访问伴生类的所有内容
-
val result = p.canMakeItTrue
-
result
-
}
- }
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28912557/viewspace-1845817/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/28912557/viewspace-1845817/