С точки зрения JVM, internal поле в Kotlin компилируется в приватное поле с сгенерированным JVM-именем, которое включает имя класса, свойства и хэш. Если вы попытаетесь обратиться к этому полю напрямую из Java-кода с использованием исходного имени поля из Kotlin, компилятор Java выдаст ошибку, так как это поле недоступно.
Однако, Kotlin-компилятор генерирует геттеры и сеттеры для internal полей, которые имеют public видимость на уровне JVM. Имя этих методов следует конвенции: get<PropertyName> и set<PropertyName>. Вы можете вызвать эти геттеры и сеттеры из Java-кода для доступа к internal полю.
Пример Kotlin-класса с internal полем:
kotlin
Пример Java-кода, обращающегося к этому полю:
java