lik*_*ike 5 java visible kotlin
我想要一些方法只对kotlin代码可见,而不是Java代码.
例如,这里的方法fun method(){}只能在kotlin代码中调用,不能在Java代码中调用.
您可以使用@JvmSynthetic注释完全达到所需的效果.这标志着与元素synthetic标记在JVM字节码,并且它的使用成为Java源代码的错误(不太清楚有关其他JVM语言,需要进行检查,但有可能它会工作以及):
@JvmSynthetic
fun f() { /*...*/ }
Run Code Online (Sandbox Code Playgroud)
标记的元素仍然可以在Kotlin中正常使用.
不幸的是,@JvmSynthetic不能用来标记一个类(它没有CLASS目标).
看更多:
什么是@JvmSynthetic在Kotlin中的用途?(没有答案,但效果在问题中描述)
内联函数无法访问非公共API:@PublishedApi vs @Suppress vs @JvmSynthetic,关于如何使用它来有效隐藏公共内部成员.
| 归档时间: |
|
| 查看次数: |
238 次 |
| 最近记录: |