企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 包定义 一个源文件可以以一个包声明开始: ``` kotlin package foo.bar fun baz() {} class Goo {} // ... ``` 源文件的所有内容(包括类和函数)都通过包声明。 所以在上面的示例中,`bax()` 的完整名称是 `foo.bar.baz`,而 `Goo` 的完整名称是 `foo.bar.Goo`。 如果不指定包,文件则归于没有名称的“default”包。 ## 导入 除了默认的导入,每个文件可以包含自己的导入命令。 导入语法在章节 [grammar](grammar.html#imports) 中。 我们可以导入任何单独的名称,例如: ``` kotlin import foo.Bar // Bar 现在可以无限制访问 ``` 或者范围内所有可访问的内容(包、类、对象等): ``` kotlin import foo.* // foo 中的所有东西都可访问 ``` 如果出现全名冲突,我们可以通过使用 `as` 关键字局部重命名实体来消除岐义: ``` kotlin import foo.Bar // Bar 可访问 import bar.Bar as bBar // bBar 代替 'bar.Bar' ``` `import` 关键字并不局限于导入类;你也可以用它导入其它声明: * 顶层函数和属性; * [object declarations](object-declarations.html#object-declarations) 中声明的函数和属性 * [enum constants](enum-classes.html) 与 Java 不同的是,Kotlin 没有单独的 “import static” 语法;所有导入声明都使用同样的 `import` 关键字。 ## 顶层声明的可见性 如果一个顶层声明被标记为 `private`,那么它对于声明所在的文件是隐蔽的(查看 [Visibility Modifiers](visibility-modifiers.html))。