项目github地址:bitcarmanlee easy-algorithm-interview-and-practice
欢迎大家star,留言,一起学习进步

Scala中,访问修饰符可以通过使用限定词强调。格式为:

private[x] 

protected[x]

这里的x指代某个所属的包、类或单例对象。如果写成private[x],读作"这个成员除了对[…]中的类或[…]中的包中的类及它们的伴生对像可见外,对其它所有类都是private。
这种技巧在横跨了若干包的大型项目中非常有用,它允许你定义一些在你项目的若干子包中可见但对于项目外部的客户却始终不可见的东西。

package bobsrocckets{package navigation{private[bobsrockets] class Navigator{protected[navigation] def useStarChart(){}class LegOfJourney{private[Navigator] val distance = 100}private[this] var speed = 200}}package launch{import navigation._object Vehicle{private[launch] val guide = new Navigator}}
}

上述例子中,类Navigator被标记为private[bobsrockets]就是说这个类对包含在bobsrockets包里的所有的类和对象可见。
比如说,从Vehicle对象里对Navigator的访问是被允许的,因为对象Vehicle包含在包launch中,而launch包在bobsrockets中,相反,所有在包bobsrockets之外的代码都不能访问类Navigator。

原文链接:http://www.runoob.com/scala/scala-access-modifiers.html

scala中的作用域保护相关推荐

  1. JavaScript中的作用域,闭包和上下文

    深入理解JavaScript中的作用域和上下文 很多语言当中都会有作用域的概念,它会给我们带来便利,偶尔也会有烦恼,只有清楚地理解和掌握了它,才能更好地为我所用,今天就带来这么一篇文章供大家参考. 介 ...

  2. 关于javascript中私有作用域的预解释

    1.如何区分私有变量还是全局变量 1).在全局作用域下声明(预解释的时候)的变量是全局变量 2).在"私有作用域中声明的变量"和"函数的形参"都是私有变量 在私 ...

  3. scala中的隐式转换、隐式参数和隐式类

    scala中的隐式转换.隐式参数和隐式类 @(SCALA)[scala] scala中的隐式转换隐式参数和隐式类 一隐式转换 1示例 2隐式转换的条件 二隐式参数 1示例 三隐式类 1示例 隐式转换是 ...

  4. android手机 scala环境,在Android中使用Scala中的Java常量

    我在Android上的Scala中开发了一个奇怪的问题.我正在使用sbt android插件,现在我正在尝试让内容提供商工作,但是...在Android中使用Scala中的Java常量 刚刚用Scal ...

  5. 【Scala】Scala中的模式匹配、类型参数与隐式转换

    1.模式匹配 (1)概述 模式匹配是Scala中非常有特色,非常强大的一种功能.模式匹配,其实类似于Java中的swich case语法,即对一个值进行条件判断,然后针对不同的条件,进行不同的处理.但 ...

  6. 3000门徒内部训练绝密视频(泄密版)第3课:Scala中函数式编程彻底精通及Spark源码阅读

    Scala中函数式编程彻底精通及Spark源码阅读 函数可以不依赖于类,函数可以作为函数的参数,函数可以作为函数的返回值 =>表明对左面的参数进行右面的加工 函数赋值给变量需要在函数名后面加空格 ...

  7. Scala中的函数式编程与面向对象编程知识点复习整理(二)——面向对象编程

    面向对象基础 概述 Scala是一门完全面向对象的语言,摒弃了Java中很多不是面向对象的语法,虽然如此,但其面向对象思想和Java的面向对象思想还是一致的. package 在java中     作 ...

  8. Scala系列-4、scala中特质、柯里化、闭包等

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 传送门:大数据系列文章目录 目录 scala中特质 特质作为接口使用 特质中放置非抽象的成员 ...

  9. 09JavaScript中的作用域

    技术交流QQ群:1027579432,欢迎你的加入! 1.作用域 通常来说,一段程序代码中所用到的名字并不是一直有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域.作用域的使用提高了程 ...

  10. Akka 系列(五):Java 和 Scala 中的 Future

    随着CPU的核数的增加,异步编程模型在并发领域中的得到了越来越多的应用,由于Scala是一门函数式语言,天然的支持异步编程模型,今天主要来看一下Java和Scala中的Futrue,带你走入异步编程的 ...

最新文章

  1. Spring MVC实现上传文件报错解决方案
  2. MAC ox下配置mysql
  3. cocos2d-x游戏实例(5)-A星算法(1)
  4. win32 临界区和简单实例Demo(win32版)
  5. Java多线程:乐观锁、悲观锁、自旋锁
  6. netty系列之:中国加油
  7. java宠物店多态源代码
  8. 【QA5】【mysql问题】ERROR 1045 (28000): Access denied for...
  9. 查看文件大小du -sh ./ ll -h
  10. NLTK简单入门和数据清洗
  11. Fatal error in launcher: Unable to create process using ‘“c:\python27\python.exe“ “C:\Python27\Scri
  12. 急需小米笔记本TM1709最新版BIOS Firmware,当前是版:RMRKB5R0P0504 日期:2018/09/04 多谢帮助!
  13. Android开发中的图片压缩
  14. 短信验证码的发送、接收验证流程
  15. MapReduce 切片源码中SPLIT_SLOP等于1.1的原因分析(TextInputFormat)
  16. 音频编码-G.711
  17. Android手电筒案例
  18. ArcMap客户端——将shp属性表导出为excel
  19. 什么是one-hot?
  20. open与fopen

热门文章

  1. k8s api文档 调用heapster metrics
  2. go开发属于自己的日志库-日志库易用性封装
  3. Linux 系统磁盘满处理方法
  4. Shader预处理宏、内置状态变量、多版本编译等
  5. Android eclipse中程序单步调试调试
  6. 《MongoDB实战系列》系列文章导读
  7. 用好文本框间的链接功能
  8. MySQL 的主从复制
  9. 37、我的C#学习笔记3
  10. 美研究人员首次验证声波可让光纤中的光变“听话”