Я нашел недавний интерес к Kotlin как к языку, потому что платформа, которую мы разрабатываем для Java 6, и, следовательно, не имеет никакого синтаксического сахара, который в последние годы принес на Java.Публичные поля для совместимости с Java
Есть только одна вещь, которая делает невозможным использование Kotlin над Java в процессе разработки, то есть платформа, которую мы разрабатываем, использует внутреннее отражение и требует, чтобы участники были общедоступными. Это не будет работать иначе.
Итак, байт-код, созданный из файла Kotlin, фактически создает публичные геттеры и сеттеры, сами по себе поля остаются закрытыми.
Есть ли способ преодолеть это, поэтому я получаю реальные публичные поля?
Я знаю о неудаче проектирования, которая требует публичных полей, но система является для нас черным ящиком, мы не можем изменить тот факт, что это должно быть так.
Может ли аннотация '@ JvmField' работать на вас? – marstran
Вот и все! Милая! Так легко. Огромное спасибо! –
Согласно https://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html, «член» относится к обоим, методам и полям. То, что вы, вероятно, имеете в виду, это «поля». Я отредактировал вопрос. –