专栏原创出处:github-源笔记文件 (opens new window) ,github-源码 (opens new window),欢迎 Star,转载请附上原文出处链接和本声明。
Scala 编程语言专栏系列笔记,系统性学习可访问个人复盘笔记-技术博客 Scala 编程语言 (opens new window)
# 包和导入
Scala 使用包来创建命名空间,从而允许你创建模块化程序。
# 如何创建包
通过在 Scala 文件的头部声明一个或多个包名称来创建包。
按照习惯包的命名应该和文件所处的目录名称保持一致。
声明包的另一种方式是使用大括号。
package users
class User
package users {
package administrators {
class NormalUser
}
package normalusers {
class NormalUser
}
}
# 如何导入
import
语句用于导入其他包中的成员 (类,特质,函数等)。
使用相同包下的成员不需要 import
语句。
import users._ // 导入包 users 中的所有成员
import users.User // 导入类 User
import users.{User, UserPreferences} // 仅导入选择的成员
import users.{UserPreferences => UPrefs} // 导入类并且设置别名
import test.{Continue => _,_} // 引入 test 目录下除 Continue 文件外的所有文件
def sqrtplus1(x: Int) = {
// scala 可以在任何地方导入
import scala.math.sqrt
sqrt(x) + 1.0
}
// scala 引入类时支持相对路径的引入,正常定义:
import package1.package2._
import package1.package2.package3.package4.Student
// 可以使用相对路径简写成:
import package1.package2._
import package3.package4.Student
// 使用相对路径时,如果用户在根目录下也定义了 package3.package4,这样简写就会冲突。
// 想要引入根目录下 package3.package4 中定义的类时,应这样引入,在包名前加上 _root_
import package1.package2._
import package3.package4.Student
import _root_.package3.package4.Teacher