(一)包的概念
类文件特别多时,如何去组织?
[理解] Scala中的包可以定义在文件的开头,也可以在代码的任意位置。
作用: 区分同名的类; 类很多时,更好地管理类;控制访问范围;
(二)包的基本使用
基本步骤:创建包 → 创建对象(类) → 导入类
示例:
1. 创建包。右键,新建软件包。名称小写。
2. 在包上右键,新建类
3. 在测试文件中引入类,使用。
(三)包的定义格式
定义格式1: package 包名
定义格式2: package 包名 {}
定义格式3: package 包名{ package 包名 }
[注意] 一个惯例是将包命名为与包含 Scala 文件的目录名相同。
包名称应全部为小写,只能包含数字,字母,下划线,小圆点。不能使用数字开头,也不要用关键字。
例如:
package demo.class.exec1 // 错误,因为class是关键字
package demo.12a // 错误,数字开头
提示:三个默认导入 import java.lang._ ; import scala._ ; import scala.Predef._
两种包的管理风格:
风格1:将包名与包含scala文件的目录名相同
[示例]
(四)导入包
导入 import
把student导入到art软件包的Main中 代码如下:
package art
// 导入 import
// 包名,类名
import jhart.Student
object Main {
def main(args: Array[String]): Unit = {
new Student()
}
}
运行结果如下:
import 导入类
package toolTest
// import tools.{A,B,C}
import tools._
// 1,import 导入一个类,包名,类名
// 2.import 导入多个类 包名{类名1,类名2}
// 3. import 导入包下边的所有的类
//import tools.A
//import tools.B
object Main {
def main(args: Array[String]): Unit = {
new A()
new B()
new C()
}
}
如果导入的一个类和现有的类有冲突 怎么办?
包名.{类名 => 新名字}
导入类的时候可以改名字-重命名
例如: import tools.{C=>C1}