为什么这个Kotlin级财产不公开?

问题描述 投票:0回答:1

我有一个应用程序经常使用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

java kotlin access-modifiers
1个回答
5
投票

因为它是一个私人领域,拥有公共吸气剂和公共制定者。你不能直接在Kotlin访问字段,一切都是属性。

请参阅:https://kotlinlang.org/docs/reference/properties.html#backing-fields

© www.soinside.com 2019 - 2024. All rights reserved.