Kotlin内部可见性修改器的范围

我有一个理解内部访问修饰符的问题。 在我的例子中,我不能产生任何与公众不同的情况。 即使我创建了一个罐子,我也可以从罐子外部(从与罐子中使用的不相关的一个不同的包装)访问罐子内部的功能。 在文档中使用术语模块,但我无法找出模块是什么。

我的问题是:

  1. kotlin中的模块是什么?

  2. 访问修饰符内部与公共修饰符有什么不同?

One Solution collect form web for “Kotlin内部可见性修改器的范围”

Kotlin编译器版本M8(0.8.11)忽略模块,更确切地说,它的工作方式好像所有的代码都放在同一个模块中一样,这就是为什么你不能得到internal可见性错误的原因。

从下一个里程碑版本开始,您创建的每个IDE模块都有自己的可见性范围,并且当您尝试从另一个模块中的某个模块访问internal声明时,会出现错误。 另一方面,公众在整个项目中都是可见的。

更新 :这在M8中尚未开启,稍后推迟

更新 :这是自Kotlin后来的里程碑和贝塔斯以来,已经开启

  • 在Kotlin Android中,“AsyncTask类应该是静态还是可能发生泄漏”的正确方法是什么?
  • Kotlin使用适用于伴侣对象会引发意外错误
  • 数据库生成的属性不可用
  • 如果我希望在Kotlin中使用类似静态函数的语法,哪种方法更好?
  • Kotlin协同工具使用生产和mockito来嘲笑生产工作
  • Kotlin:收藏定义的差异
  • 部分函数在Kotlin中的应用
  • API 21以下的Kotlin范围
  • 为什么在定义对象时,我不能在类的内部引用构造函数参数
  • 检查我的活动是否在MultiWindowMode或不使用Kotlin
  • Bug - 无法更改supportActionBar标题
  • Kotlin language will be the best programming language for Android.