Eclipse / Java: как обнаружить и рефакторировать методы экземпляра, которые должны быть статическими?

Я хочу провести рефакторинг исходного кода java-класса (с Eclipse), закодированного как чистый не объектный язык: есть только методы экземпляра (общедоступные или частные), но некоторые из них должны быть статическими (без зависимости от полей экземпляра или других методов).

Может ли Eclipse обнаружить это и провести рефакторинг кода, то есть преобразовать некоторые «общедоступные» методы в «частные статические»?


person Rififi    schedule 23.12.2014    source источник
comment
Я не думаю, что вы имеете в виду частную статику. Почему вы пытаетесь это сделать?   -  person tddmonkey    schedule 23.12.2014
comment
@MrWiggles Что не так с частными статическими методами?   -  person Paul Boddington    schedule 23.12.2014
comment
Фактически, я думаю, что метод должен быть статическим, если он не зависит от какого-либо поля экземпляра (атрибута или метода). Для меня это просто более связно и понятно.   -  person Rififi    schedule 23.12.2014
comment
Будьте осторожны с этим. Статические методы может быть сложнее рефакторинг или повторная реализация позже. Вы не можете переопределить их в будущем дочернем классе, и вы позже вернете их к методам экземпляра (если они являются частью открытого API).   -  person Ian McLaird    schedule 23.12.2014
comment
См. Этот вопрос: stackoverflow.com/questions/685522/using-private- статические методы   -  person tddmonkey    schedule 23.12.2014


Ответы (1)


Согласно странице Eclipse Настройки ошибок компиляции / предупреждений Java, вы можете сделать это, включив параметр кода" Метод может быть статическим ", который по умолчанию игнорируется.

Если этот параметр включен, компилятор выдает ошибку или предупреждение для методов, которые являются закрытыми или окончательными и относятся только к статическим членам.

После перекомпиляции вы получите список методов экземпляра в вашем коде, которые можно реорганизовать как статические методы.

person Sergey Kalinichenko    schedule 23.12.2014