Kotlin-05.包和导入(package & import)
官方文档: http://kotlinlang.org/docs/reference/packages.html
1.包
源文件通常以包声明开头:
package com.demo
fun myFun() { ... }
class MyCalss { ... }
源码文件所有内容(无论是类还是函数)都在包内,
所以上例中 myFun() 全名是 com.demo.myFun,
MyCalss 全名是 com.demo.MyClass
如果没指定包,则该文件内容属于默认“default”包
2.默认导入
一些包会被默认导入到每个Kotlin源码文件中:
kotlin.*
kotlin.annotation.*
kotlin.collections.*
kotlin.comparisons.* (自 Kotlin 1.1 起)
kotlin.io.*
kotlin.ranges.*
kotlin.sequences.*
kotlin.text.*
根据平台还会导入额外包:
JVM:
java.lang.*
kotlin.jvm.*
JS:
kotlin.js.*
3.导入
除了默认导入外,每个文件可自定义导入
import foo.Bar
import foo.*
如出现名字冲突,可用 as 重命名消歧义:
import foo.Bar // Bar 可访问
import bar.Bar as bBar // bBar 重命名“bar.Bar”
import 不限于导入类, 也可导入:
顶层函数和属性
在对象声明中声明的函数和属性
枚举常量
与 Java 不同的是,Kotlin 没有 import static 语法,全部都用 import 导入
4.顶层声明的可见性
如果顶层声明是 private,它是该文件的私有成员!
简书: http://www.jianshu.com/p/da6a69e9a399 CSDN博客: http://blog.csdn.net/qq_32115439/article/details/73257943
GitHub博客: http://lioil.win/2017/06/14/Kotlin-packages.html
Coding博客: http://c.lioil.win/2017/06/14/Kotlin-packages.html