scala中包及其导入

0 阅读1分钟

(一)包的概念

 类文件特别多时,如何去组织?

[理解] 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文件的目录名相同

[示例]

屏幕截图 2025-11-24 145259.png

屏幕截图 2025-11-24 145306.png

(四)导入包

导入 import

屏幕截图 2025-11-24 150623.png

把student导入到art软件包的Main中 代码如下:

package art
// 导入 import
//           包名,类名
import jhart.Student


object Main {
  def main(args: Array[String]): Unit = {
    new Student()
  }

}

运行结果如下:

屏幕截图 2025-11-24 150941.png

import 导入类

屏幕截图 2025-11-24 154559.png

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}