我正在研究用 Kotlin 开发的 Android 库。我将某些类的访问修饰符保留为internal
。内部类仅在 Kotlin 的该库模块中可见。如果我在应用程序中实现该库,那么它根本不可见。
但从 Java 代码访问该库时就会出现问题。如果我创建.java
文件及其类型名称internal
类库,然后 IDE 建议名称,并且它已解析并编译,没有任何错误。
For e.g.
库模块:
internal class LibClass {
// Fields and Methods
}
在实现上述库后演示应用模块:
应用模块
Kotlin:
fun stuff() {
val lib = LibClass() // Error.. Not resolving
}
Java:
public void stuff() {
LibClass lib = new LibClass() // Successfully resolving and compiling
}
这就是问题所在。如何才能从 Java 中保护该类?
谢谢你!
我看到您有一个带有内部修饰符的类,该类无法在 kotlin 类中实例化,但可以在 Java 文件中实例化。
如果它是一个独立的类,您可以将其构造函数设为私有,并允许使用静态方法(Companion 对象)进行实例化。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)