我在理解内部访问修饰符时遇到问题 . 在我的例子中,我不能产生任何与公共行为不同的情况 . 即使我创建了一个jar,我也可以从jar外部访问jar中的内部函数(来自与jar中使用的包不相关的其他包) . 在文档中使用了术语模块,但我无法找到模块的确切内容 .
我的问题是:
什么是kotlin的模块?
访问修饰符内部与公共modiefier有何不同?
Kotlin编译器版本M8(0.8.11)忽略了模块,更确切地说,它的工作就好像所有代码都放在同一个模块中一样,这就是为什么你无法获得 internal 的可见性错误 .
internal
从下一个里程碑版本开始,您创建的每个IDE模块都有自己的可见范围,当您尝试从另一个模块访问 internal 声明时,会出现错误 . 另一方面,公众在整个项目中都可见 .
UPDATE :这在M8中没有打开,推迟了以后
UPDATE :自later Kotlin milestones and betas开启此项
1 回答
Kotlin编译器版本M8(0.8.11)忽略了模块,更确切地说,它的工作就好像所有代码都放在同一个模块中一样,这就是为什么你无法获得
internal
的可见性错误 .从下一个里程碑版本开始,您创建的每个IDE模块都有自己的可见范围,当您尝试从另一个模块访问
internal
声明时,会出现错误 . 另一方面,公众在整个项目中都可见 .UPDATE :这在M8中没有打开,推迟了以后
UPDATE :自later Kotlin milestones and betas开启此项