【2023】Kotlin教程 第一篇 Kotlin基础 第4章 Kotlin语法基础 4.5 包
【2023】Kotlin教程
文章目录
- 【2023】Kotlin教程
- 第一篇 Kotlin基础
- 第4章 Kotlin语法基础
- 4.5 包
- 4.5.1 包的作用
- 4.5.2 包的定义
- 4.5.3 包的引入
第一篇 Kotlin基础
第4章 Kotlin语法基础
4.5 包
在程序代码中给类或函数起一个名字是非常重要的,但是有时候会出现非常尴尬的事情,名字会发生冲突,例如:项目中自定义了一个日期类,取名为Date,但是你可能会发现Kotlin核心库中还有多个Date,例如:位于java.util包和java.sql包中。
4.5.1 包的作用
在Kotlin与Java一样为了防止类、接口、枚举、注释和函数等内容命名冲突引用了包(package)概念,包本质上命名空间(namespace)。在包中可以定义一组相关的内容(类、接口、枚举、注释和函数),并为它们提供访问保护和命名空间管理。
将不同Date类放到不同的包中,自定义Date类可以放到自己定义的com.dingjiaxiong包中,这样就不会与java.util包和java.sql包中Date发生冲突问题了。
4.5.2 包的定义
Kotlin中使用package语句定义包,package语句应该放在源文件的第一行,在每个源文件中只能有一个包定义语句。定义包语法格式如下:
package pkg1[.pkg2[.pkg3…]]
pkg1~ pkg3都是组成包名一部分,之间用点(.)连接,它们命名应该是合法的标识符,其次应该遵守Kotlin包命名规范,即全部小写字母。
package com.dingjiaxiong
// 定义Date类
class Date {
override fun toString(): String {
return "公元2023年3月25日14时42分20秒"
}
}
// 定义函数
fun add(a: Int, b: Int): Int = a + b // 表达式函数体
4.5.3 包的引入
为了能够使用一个包中内容(类、接口、枚举、注释和函数),需要在Kotlin程序中明确引入该包。
使用import语句引入包,import语句应位于package语句之后,所有类的声明之前,可以有0~n条import语句,其语法格式为:
import package1[.package2…].(内容名|*)
“包名.内容名”形式只引入具体特定内容名,“包名.*”采用通配符,表示引入这个包下所有的内容。但从编程规范的角度提倡明确引入特定内容名,即“包名.内容名”形式可以提高程序的可读性。
如果需要在程序代码中使用com.dingjiaxiong包中Date类。示例代码如下:
import com.dingjiaxiong.Date
import com.dingjiaxiong.add
public fun main(array: Array<String>) {
val date = Date()
System.out.println(date)
val now = java.util.Date()
println(now)
val total = add(100, 200)
println(total)
}
当类冲突了,导入方式只能导入其中一个,如果还是有需要使用,则需要指定“全名”,即“包名+内容名”,比如:
java.util.Date()
还没有评论,来说两句吧...