Quantcast
Channel: CSDN博客移动开发推荐文章
Viewing all articles
Browse latest Browse all 5930

kotlin 官方学习教程之包

$
0
0

一个源文件以包声明开始:

package foo.bar

fun baz() {}

class Goo {}

// ...

源文件的所有内容(比如类和函数)都被包声明包括。因此在上面的例子中, bza() 的全名应该是 foo.bar.bza ,Goo 的全名是 foo.bar.Goo。

默认导入

许多包被默认的导入 Kotlin 中:

  • kotlin.*

  • kotlin.annotation.*

  • kotlin.collections.*

  • kotlin.comparisons.* (since 1.1)

  • kotlin.io.*

  • kotlin.ranges.*

  • kotlin.sequences.*

  • kotlin.text.*

其他的包可以根据目标平台来决定是否导入:

  • JVM:

     - java.lang.*
    
     - kotlin.jvm.*
    
  • JS:

     - kotlin.js.*
    

Imports

除了默认导入的包以外, 每个文件都有自己的导入命令。导入语法的声明在 grammar 中描述。

我们可以导入一个单独的名字,例如:

import foo.Bar // Bar 现在可以不用条件就能够使用

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

import foo.* // 'foo' 中的所有都会变成可用的

如果命名有冲突,我们可以使用 as 关键字局部重命名解决冲突

import foo.Bar // Bar 是可用的
import bar.Bar as bBar // bBar 代表 'bar.Bar'

import 关键字不受限于导入类,你也可以用它来导入其它声明:

  • 顶级函数和属性

  • 对象声明中声明的函数和属性

  • 枚举常数

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

顶级声明的可见性

如果一个顶级声明被标记为 private,那么它在其声明的文件中是私有的(参见 可见度修饰符)。

作者:jim__charles 发表于2017/5/23 13:43:53 原文链接
阅读:34 评论:0 查看评论

Viewing all articles
Browse latest Browse all 5930

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>