Kotlin 使用 package 关键字定义包,使用 import 关键字导入包
为了更好地组织类,Kotlin 提供了包机制,用于区别类名的命名空间
Kotlin 包的作用
1、 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用;
2、 如同文件夹一样,包也采用了树形目录的存储方式同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别因此,包可以避免名字冲突;
3、 包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类;
包(package)这种机制是为了防止命名冲突,访问控制,提供搜索和定位类(class)、接口、枚举(enumerations)和注释(annotation)等
创建包
使用 package 进行声明,但是包名和文件夹名可以不一致
package a.b
导入包
使用import 导入一个包
import foo.info
默认包 如果一个 kotlin 源文件中没有任何包声明,则其当中的代码均属于默认包,导入时包名即为函数名
fun hello() {
println("hello, Default Package")
}
import hello
hello()
导入别名
导入类时可以为类起一个别名
import foo.bar as b
b.bar()
Kotlin 作用域
访问标识符 | 说明 |
---|---|
private | 在声明范围及同模块的子作用域内可见 |
protected | 类似 private,但是对子类也可见 |
internal | 默认作用域,同模块中都可见 |
public | 总是可见 |