- 包定义,作用
package 包
区分相同名字的类,既相同名字的类可以存在不同的包中,不会引发冲突;
分模块的来控制类
控制访问权限
- 命名
一般小写字母+“.” 不能用关键字或者数字开头;
一般是:com.公司名称.项目名称.模块名称
- 包的风格
1. 类似java com.公司名称.项目名称.模块名称
2. 用嵌套风格(貌似没怎么看到这样的项目,后期遇到补充)
package com{
package alibaba{
package scala{
}
}
}
- 包对象
在项目中为每个包定义一个同名的包对象,包对象的成员可以作为其包下所有的class object的共享变量,可以直接访问;
创建:new--package object
其中类名会自动和包名一样
package com.byxrs
package object chapter06 {
//定义当前包共享的属性和方法
val commonName = "byxrs"
def commonMessage = {
println("欢迎光临,布央仙人山景区")
}
}
package com.byxrs.chapter06
object Test_PackageObject {
def main(args: Array[String]): Unit = {
commonMessage()
println(commonName)
}
}
结果:
欢迎光临,布央仙人山景区
byxrs
注意:包对象需要和类在用一层级下才不会报错!
- 导包
全局导入,和java一样;
局部导入,在使用时的上方导入 但是使用范围仅限该方法内;
通配符“_”;
可以导入多个包,甚至可以给类起别名;
可以屏蔽不想导入的包;