Когда вы возвращаете ссылку, это означает, что «вызывающая сторона получает псевдоним для переменной, которую я вернула».
Если эта переменная является закрытой, это не имеет значения.Вызывающий объект создает псевдоним для этой переменной;если вы не хотите, чтобы звонящий делал это, вам не следовало бы давать им такую возможность!
Помните, что конфиденциальность - это только для имен .a
является личным, поэтому имя a
может использоваться только из этого класса .Это все, что частные средства.Это не означает, что переменная не может быть изменена;это означает, что переменная не может быть идентифицирована этим именем за пределами класса.
В вашем примере вы не идентифицируете изменяемую переменную по ее имени в классе .Вы определяете его по псевдониму, который является локальной переменной a
.