java - 可见范围项目/模块

标签 java c# android scope jvm

我在 Android Studio 中链接了两个项目/模块。其中一个充当 Api/Core,我需要某些类只能从这个模块访问,但可以从它的所有包访问(因此在这种情况下“默认”是无用的)。

但是在Java中好像不是internal(c#,swift)那样的修饰符。 “模块”修饰符是为 Java 7 提出的,但没有实现。

那么,有什么方法可以保护模块的类不受外界影响,而不会将它们的范围限制在当前包内吗?

谢谢!

最佳答案

jdk 中没有这样的访问修饰符,但是 kotlin 自带了 internal 修饰符,这正是你想要的:类在模块内公开,但在模块外不可访问.

有关 Java 和 Kotlin 修饰符之间差异的详细说明,请参阅 Fragmented podcast 的 episode #101 - “学习 Kotlin – 可见性修饰符、内部修饰符、模块”,以及 official docs .

关于java - 可见范围项目/模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28765082/

相关文章:

java - Springboot同步方法

c# - 在构造函数中通过引用传递值,保存它,然后再修改它,如何?

java - ListView.setSelector(...) 不会将正确的背景颜色应用于所选项目

android - ViewModel 能否在 Activity 保存和恢复后继续存在?

java - Spring 与 ftp 跳过文件集成

java - 检测到元素,但未单击

java - 从套接字读取后无法写入

javascript - 如何使用 Ajax 将 WebSocket 数据从 View 发送到 Controller 以及将修改后的数据发送到 View

c# - 如何使我的多对多查询更快?

android - 屏幕密度为 440 dpi 的设备与在 Google Play 上发布的应用不兼容