【发布时间】:2019-08-02 00:59:43
【问题描述】:
我有一个应用程序经常使用用 Kotlin 编写的类,这些类可以被其他用 Java 编写的类及其方法访问。
我在 Java 中有以下课程:
public class MyDataClass {
public String color;
public String action;
}
我决定将其移至 Kotlin:
class MyDataClass {
var color: String = ""
var action: String = ""
}
重新编译后,我现在收到以下错误消息:
/myPath/MyApp.java:[93,20] 颜色在 myapp.command.MyDataClass 中具有私有访问权限
action 出现类似错误。
根据Kotlin reference,类和属性(以及其他一些东西)的默认可见性修饰符是public。
为什么这些属性被视为private?
【问题讨论】:
-
因为它是一个带有公共 getter 和公共 setter 的私有字段。你不能直接在 Kotlin 中访问字段,一切都是属性。
标签: java kotlin access-modifiers