为啥kotlin中的注解@JvmSynthetic对字段无效?
kotlin的文档中说@JvmSynthetic注解的原理是在字节码中添加ACC_SYNTHETIC访问标识符,因此java代码不能访问
// kotlinopen class BaseEntity{
@JvmSynthetic
var id: Long = 0
@JvmSynthetic
fun f() { }
}
可为什么只对方法起作用,用java代码仍然可以访问kotlin中被@JvmSynthetic修饰字段
// javapublic class Main {
public static void main(String[] args) {
BaseEntity entity = new BaseEntity();
entity.f(); // Cannot resolve method 'f' in 'BaseEntity'
entity.getId(); // 正常访问
}
}
以上是 为啥kotlin中的注解@JvmSynthetic对字段无效? 的全部内容, 来源链接: utcz.com/p/944132.html