赞
踩
前言:一剪薄弱的光,也要骄傲地捧出辉煌。
Kotlin 中的导包也是一门学问,刚从 Java 转 Kotlin 的时候经常导错包或者不知道怎么导适合的包,这里来为大家讲解下 Kotlin 的导包规则。(另外,Kotlin专题的文章会持续更新下去,目前只是更新了一小部分,后面就抓紧时间将剩下的奉上给大家。学习的越深入越会被 Kotlin 简洁的代码以及良好的代码阅读性深深的被折服,当然在学习过程会难免会枯燥乏味,也会遇到困难,这也是提现了每个人的毅力与意志,对知识的渴望,一起共勉!)
Kotlin 源文件第一行代码一般都是包的声明开始:
package com.suming.kotlindemo.blog
fun getListData(){}
class ImportsPackagesActivity : AppCompatActivity() {
//TODO
}
源文件的所有内容(例如类和函数)都包含在声明的包内。所以,上面的例子中,函数getListData()
的全名是com.suming.kotlindemo.blog.getListData()
;同理,类ImportsPackagesActivity
的全称是com.suming.kotlindemo.blog.ImportsPackagesActivity
。
注意:如果未指定包名,则该文件的内容属于没有名称的默认包。
默认情况下,许多包被导入到每个 Kotlin 文件中:
Comparator
实例的Helper函数;另外,还会根据不同的平台导入其他包:
(1)除了默认导入的包外,每个文件可能需要你使用的某些包:
import android.widget.TextView//导入android.widget包下的TextView类
class ImportsPackagesActivity : AppCompatActivity() {
var textView = TextView(this) //这里需要用到android.widget包下的TextView类,需要在头部文件导入
}
(2)或者范围内所有可访问的内容(包,类,对象等):
import java.util.* //java.util包下的所有类可用
import kotlin.collections.ArrayList //ArrayList是java.util包下的的子包
class ImportsPackagesActivity : AppCompatActivity() {
var random = Random() //Random类在java.util包下
var date = Date(1000) //Date类在java.util包下
var list = ArrayList<String>() //ArrayList在kotlin.collections包下
}
导入包java.util.*
表示包下的所有类都可以使用了,但是如果java.util.*
包下还有其他子包,则需要导入具体子包才可使用子包下的类。
(3)如果包名有名称冲突,我们可以使用 as
关键字本地重命名冲突实体类消除歧义。比如新导入的包名与已存在的包名名字冲突了:
import android.widget.TextView
import com.suming.kotlindemo.blog.TextView as MyView //MyView 表示com.suming.kotlindemo.blog.TextView
class ImportsPackagesActivity : AppCompatActivity() {
var View = TextView(this) //android.widget.TextView
var myView = MyView() //使用 as 关键字重新定义了com.suming.kotlindemo.blog.TextView,这里使用 MyView
}
}
上面的 android.widget.TextView
与 com.suming.kotlindemo.blog.TextView
包名重名了,编译器会报错的,使用 as
关键字类重写命名,使用的时候以新命名的名字为准。
(4)import
关键字不限于导入类,也可以用来导入其他声明:
源码地址:https://github.com/FollowExcellence/KotlinDemo-master
好了各位,以上就是这篇文章的全部内容了,能看到这里的人呀,都是人才。
我是suming,感谢各位的支持和认可,您的点赞、评论、收藏【一键三连】就是我创作的最大动力,我们下篇文章见!
如果本篇博客有任何错误,请批评指教,不胜感激 !
要想成为一个优秀的安卓开发者,这里有必须要掌握的知识架构,一步一步朝着自己的梦想前进!Keep Moving!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。