美文网首页kotlin程序员Kotlin编程
Kotlin基础之包(Package)

Kotlin基础之包(Package)

作者: 已迁至知乎_此不再维护 | 来源:发表于2017-05-21 09:27 被阅读31次

    一个源文件需要以包声明为开头:

    package foo.bar
    fun baz() {}
    class Goo {}
    // ...
    

    源文件的所有内容(如类和函数)都包含在声明的包中。 所以,在上面的例子中,baz()的全称是foo.bar.baz,而Goo的全称是foo.bar.Goo。

    如果没有指定包,则这样的文件的内容属于没有名称的“default”包。

    默认导入(Default Imports)

    下述包默认情况下会被导入每一个Kotlin文件中:

    1. kotlin.*
    2. kotlin.annotation.*
    3. kotlin.collections.*
    4. kotlin.comparisons.* (since 1.1)
    5. kotlin.io.*
    6. kotlin.ranges.*
    7. kotlin.sequences.*
    8. kotlin.text.*

    根据目标平台的不同会相应导入需要的其他包:

    1. JVM:
      • java.lang.*
      • kotlin.jvm.*
    2. JS:
      • kotlin.js.*

    导入(Imports)

    除了默认导入,每个文件可能包含属于该文件本身的导入指令。

    我们可以导入单个名称,如:

    import foo.Bar // Bar is now accessible without qualification
    

    或范围的所有可访问内容(包,类,对象等):

    import foo.* // everything in 'foo' becomes accessible
    

    如果有重名冲突,我们可以通过使用as关键字来本地重命名来消除歧义:

    import foo.Bar // Bar is accessible
    import bar.Bar as bBar // bBar stands for 'bar.Bar'
    

    import关键字不限于导入类; 您也可以使用它来导入其他声明:

    1. 顶级函数和属性
    2. 在对象声明中声明的函数和属性
    3. 枚举常数

    与Java不同,Kotlin没有单独的“import static”语法; 所有这些声明都使用常规import关键字导入。

    顶级声明的可见性(Visibility of Top-level Declarations)

    如果顶级声明被标记为“私有”,则对其声明的文件是私有的(请参阅“可见性修饰符”)。

    相关文章

      网友评论

        本文标题:Kotlin基础之包(Package)

        本文链接:https://www.haomeiwen.com/subject/fiymxxtx.html