首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Kotlin系列之目录和包

今天我们学习Kotlin的目录和包。

前面我们了解了Kotlin的类和属性,但是我们都只是写了很少的代码,当代码量增加时,我们就需要一定的方法来组织和分类存放我们的代码,以便于整个项目的维护,如果我们将所有的代码都写在一个kt文件中是不行的。一旦我们开始写出多个kt文件,就涉及到多个文件和类之间的互相调用,这就是我们这一节讨论的Kotlin的目录和包。

Java中的目录和包

我们先说一下Java中的目录和包的规则。

1 . Java中的public类必须和文件名相同

2 . Java中使用关键字类声明一个包

3 . Java中声明包是目录名之间使用来分割

4 . Java中声明的包结构必须与目录结构向对应

下面给一个示例

下面是项目的目录结构

Kotlin中的目录和包

可能有人会说上面是Java的基础知识,没必要说,但你有没有发现我们前面学习Kotlin的过程中一直都是和Java对比学习的,这样我们就可以只需要关注两者不一样的东西即可。

下面说说Kotlin中目录和包的规则。

1 . Kotlin中一个kt文件中可以放多个public的类(Kotlin默认的访问权限就是public,所以可以省略)

2 . Kotlin中同样使用关键字声明一个包

3 . Kotlin中的包声明目录名之间同样使用来分割

4 . Kotlin中的包声明不需要与目录结构对应

尤其是第四点,目录结构可以不与包结构对应,Kotlin的包声明更像是,只是让多个类之间不会有冲突,并不关心实际在磁盘上的组织存储方式。

下面同样是一个示例

下面是项目的目录结构

你会发现我包声明和目录结构是不同的,但这仍然是合法的,可以正常编译和使用。

Java与Kotlin的互操作

既然Kotlin和Java都有包的概念,那怎么互相导入类互相操作呢,其实这个和Java中的规则是一样的。

下面只贴一下上面类中Java如何使用Kotlin中的代码

请注意,因为Kotlin中的包声明没有遵循目录结构,所以当我们使用Kotlin的类时,就按Kotlin中声明的包结构进行,就可以正常使用了。

写在最后

尽管Kotlin的包声明不遵循目录结构,但我们还是应该要求自己尽量将Kotlin的包声明与文件目录结构相对应,这样可以减少很多莫名的错误,在Kotlin与Java混编的项目中也会少很多麻烦。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180110G02U1900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券