android - 为什么在 Kotlin 中的包名称错误时类会编译?
问题描述
当我在 kotlin 中编写代码时,我刚刚看到我的类使用错误的包名编译。任何想法如何以及为什么会发生。
谢谢
解决方案
你好,kotlin
包裹里的东西不像他们在里面那样工作java
在 kotlin 中,您可以在任何地方设置任何名称的任何包
例如,这是您的包层次结构
com->android->kotlin->ui->activities
在你有文件的地方MainActivity.kt
和Utils.kt
在您的MainAcitivity
文件中,您可以将此package
名称设置为
package com.android.kotlin.ui.activities
同时您可以将 Utils 文件包设置为
package com.android.kotlin.utilities
那么为什么会发生这种情况并且 Kotlin 编译器不会产生错误以及它是如何正常工作的呢?
在 kotlin 中,您可以说文件夹包并不真正存在,您可以将文件保存到任何文件夹,例如xyz文件夹中的abc文件和vwx文件夹中的efg文件,您可以将两个文件包都设置为package,您可以访问属性,顶级函数类等直接没有任何问题并且没有编译时错误!希望你能理解。com.android.lmnop
您甚至可以从下面提到的资源中获取有关 kotin 的知识。
https://kotlinlang.org/docs/reference/packages.html
https://code.tutsplus.com/tutorials/kotlin-from-scratch-packages-basic-functions--cms-29445
推荐阅读
- java - 组件之间的 Java swing 通信
- hana - 重新启动后必须重新配置 SAP HANA Express
- powerbi - PowerBI/DAX:明细表总和
- python - 检查python中两条样条线的接近度
- sql - Oracle:连接两个快速、不相关的查询导致查询缓慢
- javascript - 存储 .css('display') 值并将其返回到其他页面按钮单击
- scala - 如何从两个数据框 d1 和 d2 的连接中过滤掉记录,其中 d1 中的所有列 =!= d2 中的所有对应列
- php - 为什么 index.php/login.php 被接受为有效的 url?
- mysql - 来自 MySQL 中特定组的结果
- r - 如何使用复制()填充数据框