Приватные поля в классе
Изучаю сейчас котлин и запуталась с модификаторами доступа. В Java поля класса обычно приватные, а для доступа пишутся getter и setter. Например:
public class People{
private String name;
public String getName(){
return this.name;
}
public void setName(String name){
this.name = name;
}
}
Но если его конвертировать в Kotlin то получается:
class People {
var name: String? = null
}
Судя по документации, если нет модификатора доступа, то это по умолчанию public, то есть нарушается инкапсуляция.
Так ли это? И как все же сделать приватное поле и getter и setter?
Ответы (1 шт):
Автор решения: Eugene Krivenja
→ Ссылка
Ваш пример на Котлине
class People {
var name: String? = null
}
Генерирует вот такой JVM байткод (оставил только сигнатуры)
public final class People {
private Ljava/lang/String; name
public final getName()Ljava/lang/String;
public final setName(Ljava/lang/String;)V
public <init>()V
}