Scala的包及其导入

包就是文件夹

Scala 的包 定义: 相比于Java中的包,Scala中的包可以定义在文件的开头,也可以在代码的任意位置。Scala的包用于解决类的命名冲突和类的文件管理。在引入类时加上包名可以区分不同的,解决类名冲突的问题。类的文件管理就是通过包名可以把具有相同功能的不同类组织在一起,放入同一个包中。

包名称应全部小写,只能包含数字、字母、下划线、小圆点。不能使用数字

导入的关键字是 import

Scala 复制代码
 
//1. 单个导入
// import com.scala02.A
// import com.scala02.B

//2. 导入多个类
// import com.scala02.{A,B}

//3. 导入一个包下的所有的类:包名._
 import com.scala02._

//引入com/scala02/A
object Test9 {
  def main(args: Array[String]): Unit = {
    new A{}
    new B{}
    new C{}
  }
}
Scala 复制代码
//1. 单个导入
// import com.scala02.A
// import com.scala02.B

//2. 导入多个类
// import com.scala02.{A,B}

//3. 导入一个包下的所有的类:包名._
// import com.scala02._

//4. 导入一个包中的类,给他改个名字
// 格式:import 包名.{原来的名字=> 新名字}
import com.scala02.{A => BigA}


object Test9 {
  def main(args: Array[String]): Unit = {
    new BigA{}
//    new B{}
//    new C{}
  }
}

导入成员的隐藏类

如果一个包中包含多个类,除包中某一个类之外都需要导入,可以使用导入成员隐藏类的方法,其语法格式为:把包中的A不导入。import 包.{A =>.}

Scala 复制代码
//1. 单个导入
// import com.scala02.A
// import com.scala02.B

//2. 导入多个类
// import com.scala02.{A,B}

//3. 导入一个包下的所有的类:包名._
// import com.scala02._

//4. 导入一个包中的类,给他改个名字
// 格式:import 包名.{原来的名字=> 新名字}
//import com.scala02.{A => BigA}

//5. 隐藏导入类
import com.scala02.{C=>_, _}


object Test9 {
  //5. 局部导入,就在方法内部去导入要用的包
  def main(args: Array[String]): Unit = {
//    import com.scala02.{A =>BigA}
//    new BigA{}
    val a = new A()
    a.test()
    //    new B()
    //    new C()
//    new Student()
  }
}

建立包

在包里建一个软件包对象

在包里建A,B,C类,在类里打入: (A,B,C都打一样的这个)

相关推荐
海外数字观察家26 分钟前
品未云:博兹瓦纳华商批发零售一体化 ERP,破解本土软件适配难题|CSDN 技术分享
大数据·网络·人工智能·博兹瓦纳进销存系统·博兹瓦纳收银系统·博兹瓦纳erp系统·博兹瓦纳仓库管理系统
এ慕ོ冬℘゜29 分钟前
深入理解 JavaScript 事件对象:从 target 到 preventDefault 的实战指南
开发语言·前端·javascript
学逆向的34 分钟前
汇编——修改EIP的值
开发语言·汇编·网络安全
weixin_4223293135 分钟前
AgentScope Java ReActAgent 核心循环深度解析
java·开发语言·人工智能
SNKXD_136 分钟前
2026年五款AI数字人系统效果差异:基于多维度横评的实证比较
大数据·人工智能
Lucky_55668838 分钟前
山东捷瑞检测科技有限公司:政务信息化项目监理要点与收费标准解析
大数据·人工智能
weilaieqi11 小时前
行业前列!CASAMANIA HORM富森美高端意式沙发标杆
开发语言
REDcker1 小时前
Git浅克隆详解与实践
大数据·git
小二·1 小时前
WebGPU 浏览器端跑大模型:让AI在网页里跑起来(WebLLM/Transformers.js实战)
开发语言·javascript·人工智能
小猴子爱上树1 小时前
Temu批量视频翻译Python实现方案
开发语言·python·音视频