在kotlin中,我有一个已转换为对象的类,现在当我从java调用它时,方法名称将附加$ app。这是什么意思?
科特林
object SomeObject {
internal val standardRetroService: WebPredictionService
get() = getCustomBaseRetroService(CloudUtil.doStuff)
}
Java
SomeObject.INSTANCE.getStandardRetroService$app().dostuff();
答案 0 :(得分:3)
由于internal
可见性修饰符而使您获得该后缀,当从Kotlin使用属性时,该修饰符仅使属性在其模块(app
)中可见。
在Java /字节码级别上没有这种可见性,因此标识符与此后缀“混为一谈”,这应该向Java客户端发出信号,至少他们不应该使用它如果他们不确定他们知道自己在做什么。