Kotlin 导包规则

1、源文件头部

源文件通常以包声明开头,所有内容(无论是类还是函数)都包含在该包内;若没有指明包,该文件的内容属于无名字的默认

Kotlin 复制代码
package org.example

fun printMessage() { /*......*/ }  // 全名是 org.example.printMessage
class Message { /*......*/ }       // 全名是 org.example.Message
2、导入

import 并不仅限于导入类;也可用它来导入其他声明

  • 顶层函数及属性
  • 在对象声明中声明的函数和属性
  • 枚举常量

导入一个单个名称

Kotlin 复制代码
import org.example.Message // 现在 Message 可以不用限定符访问

导入一个作用域下的所有内容:包、类、对象等

Kotlin 复制代码
import org.example.* // "org.example"中的一切都可访问

使用 as 关键字在本地重命名冲突项来消歧义

Kotlin 复制代码
import org.example.Message // Message 可访问
import org.test.Message as TestMessage // TestMessage 代表"org.test.Message"
3、默认导入

有多个包会默认导入到每个 Kotlin 文件中:

根据目标平台还会导入额外的包:

相关推荐
Android-Flutter16 小时前
android compose shadow 阴影 使用
android·kotlin·compose
Android-Flutter1 天前
android compose 自定义Painter绘制图形 使用
android·kotlin·compose
Android-Flutter2 天前
android compose Brush 渐变和着色器 使用
android·kotlin·compose
Flynt2 天前
Room 3.0 包名重构 + KMP 迁移:我把项目升级踩了个遍
android·数据库·kotlin
TechNomad2 天前
Kotlin函数详解与使用示例
android·kotlin
alexhilton2 天前
将应用迁移到Navigation 3:痛点、加班和紧急修复
android·kotlin·android jetpack
唐青枫3 天前
Kotlin 运算符重载详解:为什么 a += b 有时改对象,有时换对象?
kotlin
plainGeekDev3 天前
Gson → kotlinx.serialization
android·java·kotlin
CYY953 天前
Compose 入门篇
android·kotlin