У меня есть приложение, которое регулярно использует классы, написанные на Kotlin, к которым обращаются другие классы и их методы, написанные на Java.
У меня был следующий класс в Java:
public class MyDataClass {
public String color;
public String action;
}
Я решил перенести его в Котлин:
class MyDataClass {
var color: String = ""
var action: String = ""
}
После перекомпиляции я получаю следующее сообщение об ошибке:
/ myPath / MyApp.java: [93,20] цвет имеет частный доступ в myapp.command.MyDataClass
Я получаю похожую ошибку для action
.
Согласно справке Kotlin , модификатор видимости по умолчанию для класса и свойств (и множества других) равен public
.
Почему эти свойства рассматриваются как private
?