【2023】Kotlin教程 第一篇 Kotlin基础 第4章 Kotlin语法基础 4.5 包

「爱情、让人受尽委屈。」 2024-03-24 10:29 114阅读 0赞

【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语句应该放在源文件的第一行,在每个源文件中只能有一个包定义语句。定义包语法格式如下:

  1. package pkg1[.pkg2[.pkg3…]]

pkg1~ pkg3都是组成包名一部分,之间用点(.)连接,它们命名应该是合法的标识符,其次应该遵守Kotlin包命名规范,即全部小写字母。

  1. package com.dingjiaxiong
  2. // 定义Date类
  3. class Date {
  4. override fun toString(): String {
  5. return "公元2023年3月25日14时42分20秒"
  6. }
  7. }
  8. // 定义函数
  9. fun add(a: Int, b: Int): Int = a + b // 表达式函数体

在这里插入图片描述

4.5.3 包的引入

为了能够使用一个包中内容(类、接口、枚举、注释和函数),需要在Kotlin程序中明确引入该包。

使用import语句引入包,import语句应位于package语句之后,所有类的声明之前,可以有0~n条import语句,其语法格式为:

  1. import package1[.package2…].(内容名|*)

“包名.内容名”形式只引入具体特定内容名,“包名.*”采用通配符,表示引入这个包下所有的内容。但从编程规范的角度提倡明确引入特定内容名,即“包名.内容名”形式可以提高程序的可读性。

如果需要在程序代码中使用com.dingjiaxiong包中Date类。示例代码如下:

  1. import com.dingjiaxiong.Date
  2. import com.dingjiaxiong.add
  3. public fun main(array: Array<String>) {
  4. val date = Date()
  5. System.out.println(date)
  6. val now = java.util.Date()
  7. println(now)
  8. val total = add(100, 200)
  9. println(total)
  10. }

在这里插入图片描述

当类冲突了,导入方式只能导入其中一个,如果还是有需要使用,则需要指定“全名”,即“包名+内容名”,比如:java.util.Date()

发表评论

表情:
评论列表 (有 0 条评论,114人围观)

还没有评论,来说两句吧...

相关阅读