toString
не считается средством доступа, поскольку он не обращается к атрибуту (свойству) объекта, а скорее к объекту в целом (хотя я вижу вашу точку зрения).
Средства доступа - это геттеры (обычно называемые getSomething
или isSomething
для boolean
с) и сеттеры (обычно называемые setSomething
).
Чтобы ответить на вопрос в вашем заголовке, нет ничего плохого в том, что один метод доступа вызывает другой метод доступа. Я считаю, что это происходит регулярно (хотя и не в вашем примере).
В классе, представляющем людей, у вас может быть, например, получатель полного имени, вызывающий получатели имени и фамилии:
public String getFullName() {
return getFirstName() + ' ' + getLastName();
}
Я бы рассматривал getFullName
как средство доступа, поскольку мы можем рассматривать полное имя как собственность человека (и его имя начинается с get
).