Щойно отримав коментар з огляду, що мій статичний імпорт методу був недоброю ідеєю. Статичний імпорт був методом із класу DA, який має в основному статичні методи. Тож в середині ділової логіки у мене відбулася діяльність да, яка, здавалося б, належить до поточного класу:
import static some.package.DA.*;
class BusinessObject {
void someMethod() {
....
save(this);
}
}
Рецензент не захоплювався тим, що я змінюю код, і я цього не зробив, але я з ним згоден. Однією з причин нестатичного імпорту було те, що це було заплутано, де визначено метод, він не був у поточному класі та не в будь-якому суперкласі, тому це занадто деякий час для визначення його визначення (веб-система огляду не може натискати посилання на зразок IDE :-) Я не думаю, що це має значення, статичний імпорт все ще досить новий, і незабаром ми всі звикнемо їх розміщувати.
Але інша причина, з якою я погоджуюсь, полягає в тому, що некваліфікований виклик методу, здається, належить поточному об'єкту і не повинен стрибати контексти. Але якби це дійсно належало, було б сенс розширити цей суперклас.
Отже, коли має сенс статичні методи імпорту? Коли ви це зробили? Вам подобається, як виглядають некваліфіковані дзвінки?
EDIT: Думається, що статичні методи імпорту, якщо ніхто не збирається плутати їх як методи поточного класу. Наприклад, методи з java.lang.Math та java.awt.Color. Але якщо abs та getAlpha не неоднозначні, я не розумію, чому саме читаєEEEEEEEEEEEE. Як і у багатьох варіантах програмування, я вважаю, що це теж є особистою перевагою.
Дякую за вашу відповідь, хлопці, я закриваю питання.
import static
, особливістю єstatic import