我在理解内部访问修饰符时遇到了问题。在我的例子中,我无法产生任何情况,即它的行为方式与公众不同。即使我创建了一个jar,我也可以从jar外部访问jar中的内部函数(来自与jar中使用的包无关的不同包)。在文档中,使用了术语模块,但我无法确切地发现模块是什么。
因此,我的问题是:
发布于 2014-09-13 08:12:54
Kotlin编译器版本M8 (0.8.11)忽略模块,更准确地说,它的工作方式就好像您的所有代码都放在同一个模块中一样,这就是为什么您不能获得internal的可见性错误。
从下一个里程碑版本开始,您创建的每个IDE模块都有自己的可见性范围,当您尝试从一个模块访问另一个模块的internal声明时,会得到一个错误。另一方面,公众在整个项目中都是可见的。
UPDATE:这在M8中没有打开,推迟到以后
UPDATE:这是从later Kotlin milestones and betas开始打开的
https://stackoverflow.com/questions/25813323
复制相似问题