почему и как методы StringBuilder могут изменять private final поле через геттер?
почему и как методы StringBuilder могут изменять private final поле?
public class Employee {
private final StringBuilder name = new StringBuilder("value");
public StringBuilder getName() {
return name;
}
public static void main(String[] args) {
var employee = new Employee();
System.out.println(employee.getName());
employee.getName().append("1");
System.out.println(employee.getName());
}
}
вывод: value
value1
как так?