scala中的作用域保护
项目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中的作用域保护相关推荐
- JavaScript中的作用域,闭包和上下文
深入理解JavaScript中的作用域和上下文 很多语言当中都会有作用域的概念,它会给我们带来便利,偶尔也会有烦恼,只有清楚地理解和掌握了它,才能更好地为我所用,今天就带来这么一篇文章供大家参考. 介 ...
- 关于javascript中私有作用域的预解释
1.如何区分私有变量还是全局变量 1).在全局作用域下声明(预解释的时候)的变量是全局变量 2).在"私有作用域中声明的变量"和"函数的形参"都是私有变量 在私 ...
- scala中的隐式转换、隐式参数和隐式类
scala中的隐式转换.隐式参数和隐式类 @(SCALA)[scala] scala中的隐式转换隐式参数和隐式类 一隐式转换 1示例 2隐式转换的条件 二隐式参数 1示例 三隐式类 1示例 隐式转换是 ...
- android手机 scala环境,在Android中使用Scala中的Java常量
我在Android上的Scala中开发了一个奇怪的问题.我正在使用sbt android插件,现在我正在尝试让内容提供商工作,但是...在Android中使用Scala中的Java常量 刚刚用Scal ...
- 【Scala】Scala中的模式匹配、类型参数与隐式转换
1.模式匹配 (1)概述 模式匹配是Scala中非常有特色,非常强大的一种功能.模式匹配,其实类似于Java中的swich case语法,即对一个值进行条件判断,然后针对不同的条件,进行不同的处理.但 ...
- 3000门徒内部训练绝密视频(泄密版)第3课:Scala中函数式编程彻底精通及Spark源码阅读
Scala中函数式编程彻底精通及Spark源码阅读 函数可以不依赖于类,函数可以作为函数的参数,函数可以作为函数的返回值 =>表明对左面的参数进行右面的加工 函数赋值给变量需要在函数名后面加空格 ...
- Scala中的函数式编程与面向对象编程知识点复习整理(二)——面向对象编程
面向对象基础 概述 Scala是一门完全面向对象的语言,摒弃了Java中很多不是面向对象的语法,虽然如此,但其面向对象思想和Java的面向对象思想还是一致的. package 在java中 作 ...
- Scala系列-4、scala中特质、柯里化、闭包等
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 传送门:大数据系列文章目录 目录 scala中特质 特质作为接口使用 特质中放置非抽象的成员 ...
- 09JavaScript中的作用域
技术交流QQ群:1027579432,欢迎你的加入! 1.作用域 通常来说,一段程序代码中所用到的名字并不是一直有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域.作用域的使用提高了程 ...
- Akka 系列(五):Java 和 Scala 中的 Future
随着CPU的核数的增加,异步编程模型在并发领域中的得到了越来越多的应用,由于Scala是一门函数式语言,天然的支持异步编程模型,今天主要来看一下Java和Scala中的Futrue,带你走入异步编程的 ...
最新文章
- Spring MVC实现上传文件报错解决方案
- MAC ox下配置mysql
- cocos2d-x游戏实例(5)-A星算法(1)
- win32 临界区和简单实例Demo(win32版)
- Java多线程:乐观锁、悲观锁、自旋锁
- netty系列之:中国加油
- java宠物店多态源代码
- 【QA5】【mysql问题】ERROR 1045 (28000): Access denied for...
- 查看文件大小du -sh ./ ll -h
- NLTK简单入门和数据清洗
- Fatal error in launcher: Unable to create process using ‘“c:\python27\python.exe“ “C:\Python27\Scri
- 急需小米笔记本TM1709最新版BIOS Firmware,当前是版:RMRKB5R0P0504 日期:2018/09/04 多谢帮助!
- Android开发中的图片压缩
- 短信验证码的发送、接收验证流程
- MapReduce 切片源码中SPLIT_SLOP等于1.1的原因分析(TextInputFormat)
- 音频编码-G.711
- Android手电筒案例
- ArcMap客户端——将shp属性表导出为excel
- 什么是one-hot?
- open与fopen