Scala使用包來創建用於模塊化程序的命名空間。
通過在Scala文件的頂部聲明一個或多個包名稱可以創建包
package com.hk.test1
慣例是將包命名爲與包含Scala文件的目錄相同的名稱。但是,Scala與文件佈局無關。
package users的sbt項目目錄結構如下:
位於相同包下的多個Scala文件具有相同的包聲明。
另一種聲明包的方式是使用花括號,並且這種方式可以嵌套包,並且提供更好的範圍與封裝控制。
package test1 { package sss { class ssss {} } }
報名應該爲小寫,並且如果代碼在一個擁有網站的組織中開發,它應該使用如下約定:< top-level-domain >.< domain-name >.< project-name >。
例如,如果谷歌具有一個名爲SelfDrivingCar的項目,項目名應當爲:
package com.google.selfdrivingcar.camera class Lens
而它對應的目錄結構應當爲:
SelfDrivingCar/src/main/scala/com/google/selfdrivingcar/camera/Lens.scala
import子句用於方法其他包中的成員(類、特質、函數等),訪問相同包下成員不需要import語句。
# 導入com.hk.test1.eeee包下所有元素 import com.hk.test1.eeee._ # 導入類wwww import com.hk.test1.eeee.wwww # 導入類wwww與類iii import com.hk.test1.eeee.{wwww,iii} # 導入類wwww並將其名改爲www import com.hk.test1.eeee.{wwww => www}
Scala與Java的區別之一便是,Scala可以在任意位置使用import語句。
import com.hk.test1.eeee.iii val i:iii = new iii
如果出現命名衝突,可以通過在導入的包名前添加_root_前綴從項目的根處導入。
# 從項目的根處導入 import _root_.com.hk.test1.eeee.iii
注意:scala與java.lang包與object Predef相同,默認導入。