如何通过 Java 类访问内部 Kotlin 方法而不使用奇怪的语法 <method_name>$<module>()?
代码示例。
科特林类:
class MyKotlinClass {
internal fun myInternalKotlinMethod() {
// Do something
}
}
Run Code Online (Sandbox Code Playgroud)
Java类:
public class MyJavaClass {
public MyJavaClass() {
MyKotlinClass myKotlinClass = new MyKotlinClass();
myKotlinClass.myInternalKotlinMethod$app_debug();
}
}
Run Code Online (Sandbox Code Playgroud)
这是没有办法解决的。这就是它应该如何工作的。
根据关于从 Java 代码调用 Kotlin 代码的官方文档(强调我的):
internal声明变成public了Java。类的成员internal会经过名称修改,以使其更难从 Java 中意外使用它们,并允许根据 Kotlin 规则重载具有相同签名但彼此看不到的成员;
| 归档时间: |
|
| 查看次数: |
2580 次 |
| 最近记录: |