Подтвердить что ты не робот

Eclipse JDT: Есть ли рефакторинг для замены прямого доступа к полю с помощью методов setter/getter?

Я знаю, что могу генерировать сеттеры и геттеры для полей в исходном меню Eclipse, но я очень удивлен тем, что он не предлагает заменять прямых аксессуаров поля вызовами вновь созданных методов.

Кто-нибудь знает, как это сделать без ручного поиска и замены?

Спасибо!

4b9b3361

Ответ 1

Есть способ. Сосредоточьтесь на атрибуте, щелкните правой кнопкой мыши. Выберите "Рефакторинг" → "Инкапсулировать поле".

(Отредактировано, чтобы объяснить, почему он работает, хотя название меню не подразумевает его)

Диалоговое окно "Encapsulate Field" создаст для вас геттеры/сеттеры, если они не существуют, и изменит доступ к полям, чтобы пройти через getters/seters. Диалог автоматически обнаруживает существующие геттеры/сеттеры, поэтому для требований, о которых вы упомянули, это сделало бы трюк.