您的位置:首页 > 其它

Scala学习文档-访问修饰符

2014-11-04 17:33 162 查看
在scala里,对保护成员的访问比Java严格。Scala中,保护成员只在定义了成员的类的子类中可以访问,而Java中,还允许在同一个包的其他类中访问。

package p1 {
class FClass{
protected def fun(){ println("myfunction") }
}
class SClass extends FClass{
fun()//允许访问
}
class OtherC{
fun()//错误 不允许访问
}
}


保护的作用域

Scala里的访问修饰符可以通过限定词强调 private[x] 或 protected[x] 表示知道x的私有或保护。 x指代包、类、单例对象

例:

import bob.nav._
object Test12{
 def main(args:Array[String]):Unit={
var c1 = new CCCC;//访问无效 超出了bob包
}
}


package bob{
package nav{
protected[bob] class CCCC{    //这个类对包含在bob包内的所有类和对象可见,在bob包之外的代码无法访问
protected[nav] def cfun(){println("CCC1")} //这个方法对navigate包内的类和对象可见
protected[this] val myspeed = 200;
class MyC{
private[nav] def myfun(){println("MyC")}
}
val c1 = new CCCC
c1.myspeed //错误
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: