Kotlin——包

来源:互联网 发布:分布式数据库架构 编辑:程序博客网 时间:2024/06/10 02:14
原文地址:http://kotlinlang.org/docs/reference/packages.html


一个源文件可以以下面的包声明开头:

package foo.barfun baz() {}class Goo {}// ...

源文件的所有内容(例如包和函数)都被声明的包所包含。因此,对于上面的例子,baz()的全名称为foo.bar.baz,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.*

引入

除了默认的引入,每个文件还包含它自己的引入。引入的使用在[语法]这部分有描述。

我们可以引入一个简单的 名字,例如:

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这个常规关键字引入。

高级别函数的可见性

如果一个高级的函数(不在类内层这种,直接在包下面)被标记为私有的,它声明时候所在的文件是私有的,仅仅在它声明的文件中可见。








原创粉丝点击