我有一个应用程序,它经常使用用 Kotlin 编写的类,这些类被其他用 Java 编写的类及其方法访问。
我在 Java 中有以下类(class):
public class MyDataClass {
public String color;
public String action;
}
我决定将其移至 Kotlin:
class MyDataClass {
var color: String = ""
var action: String = ""
}
重新编译后,我现在收到以下错误消息:
/myPath/MyApp.java:[93,20] color has private access in myapp.command.MyDataClass
action
出现类似的错误。
根据 Kotlin reference ,类和属性(以及许多其他内容)的默认可见性修饰符是 public
。
为什么这些属性被视为私有(private)
?
最佳答案
因为它是一个具有公共(public) getter 和公共(public) setter 的私有(private)字段。您不能直接在 Kotlin 中访问字段,一切都是属性。
引用:https://kotlinlang.org/docs/reference/properties.html#backing-fields
关于java - 为什么这个 Kotlin 类属性不公开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55106505/