欢迎关注 二师兄Kotlin
转载请注明出处 二师兄kotlin
包(Packages)
Kotlin源文件一般放在包下面,如下:
package foo.bar
fun baz() {}
class Goo {}
// ...
源文件中的所有内容都属于的此包(package)。因此在上面的例子中,函数baz()
的全限定名是foo.bar.baz
,类Goo
的全限定名是foo.bar.Goo
。
如果没有指定包名,文件就属于一个没有名字的默认包。
Imports
除了默认的导入外,每个文件还可以包含自己的导入。导入指令的语法在这里有详细描述。
我们可以导入精确的名字,如:
import foo.Bar // Bar现在可以不用全限定名访问了
也可以导入一个作用域(packages, class, object等)内的所有内容,如:
import foo.* // 'foo'下的所有内容都可被访问了
如果有命名冲突,用as
关键字为其取一个别名,如下:
import foo.Bar // Bar可访问
import bar.Bar as bBar // bBar相当于'bar.Bar'
import
关键字不只用于导入类,还可以被用于导入其他内容,如下:
- top-level的函数和属性
- 被声明为Object的函数和属性
- 枚举常量
与java不同,Kotlin没有import static
语法,所有的导入都使用常规的import
关键字。
top-level declaration 的可见性
如果一个top-level的declaration被标记为private
,它只属于所在的文件(详情请看可见性修饰符)。