Scala - 修饰符

Scala - 修饰符 首页 / Scala入门教程 / Scala - 修饰符

本章将引导您完成Scala访问修饰符,包,类或对象的成员可以使用访问修饰符标签为私有private和受保护protect,或为公共访问public的。

Private 私有修饰符

私有修饰符表示只有当前类或对象可访问。

class Outer {
   class Inner {
      private def f() { println("f") }
      
      class InnerMost {
         f() //OK
      }
   }
   (new Inner).f() //Error: f 不可访问
}

在Scala中,访问权限(new Inner), f()是非法的,因为f在Inner中被声明为私有,并且访问不是从Inner类内部进行的。

链接:https://www.learnfk.comhttps://www.learnfk.com/scala/scala-access-modifiers.html

来源:LearnFk无涯教程网

Protected 受保护修饰符

protected 修饰符表示只有当前类或子类可访问。

package p {
   class Super {
      protected def f() { println("f") }
   }
   
   class Sub extends Super {
      f()
   }
   
   class Other {
      (new Super).f() //Error: f 不可访问
   }
}

Sub类中对f的访问是可以的,因为f在" Super"类中声明为受保护,并且" Sub"类是Super的子类。

Public 公共修饰符

privateprotected不同,不需要为Public成员指定Public关键字,public修饰符表示所有类都可以访问。

class Outer {
   class Inner {
      def f() { println("f") }
      
      class InnerMost {
         f() //OK
      }
   }
   (new Inner).f() //OK 因为现在 f() 是公开的
}

保护区域

Scala中的访问修饰符可以通过限定符进行扩充,形式private [X]或protected [X]的修饰符表示访问是private私有的或protected 受保护的,最多X个,其中X指定一些封闭的包,类或单例对象 。

package society {
   package professional {
      class Executive {
         private[professional] var workDetails=null
         private[society] var friends=null
         private[this] var secrets=null

         def help(another : Executive) {
            println(another.workDetails)
            println(another.secrets) //ERROR
         }
      }
   }
}

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

代码精进之路 -〔范学雷〕

深入浅出计算机组成原理 -〔徐文浩〕

说透敏捷 -〔宋宁〕

视觉笔记入门课 -〔高伟〕

Linux内核技术实战课 -〔邵亚方〕

高楼的性能工程实战课 -〔高楼〕

搞定音频技术 -〔冯建元 〕

去无方向的信 -〔小麥〕

超级访谈:对话汤峥嵘 -〔汤峥嵘〕

好记忆不如烂笔头。留下您的足迹吧 :)