scala - 类:Scala修饰符

1、私有(Private)成员

     在嵌套类情况下,外层类甚至不能访问被嵌套类的私有成员。用 private 关键字修饰,带有此标记的成员仅在包含了成员定义的类或对象内部可见,同样的规则还适用内部类。

class Outer{
    class Inner{
    private def f(){println("f")}
    class InnerMost{
        f() // 正确, 在InnerMost里访问f没有问题,因为这个访问包含在Inner类之内。
        }
    }
    (new Inner).f() //错误,因为f在Inner中被声明为private,而访问不在类Inner之内。
}

2、保护(Protected)成员

      只允许保护成员在定义了该成员的的类和该类的子类中被访问

class Super{
             protected def f() {println("f")}
             println("Into Super");
             f();
             println("Out Super");
            }
class Sub extends Super{
                        println("Into Sub");
                        f();
                        println("Out Sub");
                        }
class Other{
           // (new Super).f() //错误
           }
object Test {
  def main( args: Array[String] ){
    val a = new Sub
                             }
}
// 运行结果
Into Super
f
Out Super
Into Sub
f
Out Sub

猜你喜欢

转载自blog.csdn.net/sunjianqiang12345/article/details/82795403