一、前言
前面介绍了Scala的Object,由于中间论文的时间耽误了些时间,接着继续学习Scala的Packaging和Imports
二、Packaging and Imports
Scala的包用法与Java类似,但更灵活。在class文件顶端使用package语法,并且可以使用带中括号的package语法,与Java相比,Scala的导入有如下特点
· 可在任何地方使用import声明
· 可导入类、包、对象
· 对导入的成员隐藏或者重命名
并且在Scala中,隐式导入了java.lang._和scala.lang._两个包,_与Java中的*一样,表示导入包下所有的类,除了上述两个包,scala.Predef对象也被隐式导入,可以详细阅读Predef的源代码,里面包含了很多Scala的语法
2.1 带有中括号符号的包
1. 问题描述
你想使用一个嵌套风格的包符号,类似于C++和C#命名空间的符号
2. 解决方案
将类放置在有中括号的包名中,如下所示
package com.hust.grid { class Foo { override def toString = "I am com.hust.grid.Foo" } }
类的规范名字是com.hust.grid.Foo,其等效于如下代码
package com.hust.grid class Foo { override def toString = "I am com.hust.grid.Foo" }
使用这种方法,可以在一个文件中放置多个package,也可以使用“中括号”风格嵌套包
下面示例展示了三个不同的Foo类,Foo类在不同的包中
延伸阅读
学习是年轻人改变自己的最好方式