Scala 速通语法(五)| 包
包
基本语法
package 包名
Scala包作用
- 区分相同名称的类
- 当类较多时管理类
- 控制访问范围
- 可以对类的功能进行扩展
Scala中的包名和源码所在的文件目录可以不一致,但编译后字节码文件会放入该路径
+import
- 在scala中 Java.lang.包 scala包 Predef包(预定义包) 自动引用 不需要显示写入
- Scala包的注意事项和使用细节
- scala进行package时 有三种形式
- 类似java
package com.xx.xxx [类]
- 分开写包
package com.xx package xxx [类]
- 使用大括号打包
package com.xx{//在包下(一个文件)可以同时创建多个包、类、trait、object package xxx{ [类] } }
- scala进行package时 有三种形式
如果有同名的类 使用就近原则 (可以直接使用父包的类 如要使用父包同名类需要指定路径)
父包要访问子包的类 需要import
对应的类
- 包对象
- 包中不能直接写方法或者定义变量
- 创建包对象
package object scala
表示创建一个包对象 他是xxx.xx.scala
包的包对象 - 每一个包都仅可以创建一个包对象
- 包对象的名字需要和包一样
- 在包对象中可以定义变量 方法等 这些内容可以在对应包中可用
- 包可见性
+在访问修饰符后加包名 可扩大访问范围 如private [包] var 变量
使得在指定包中可以访问私有变量 - 包的引入
import
可以在任意地方引入 但是需要注意作用域import 包._
_是通配符- 选择引入包的内容
import 包.xx.xx.{选取类}