Я только что где-то читал, что иметь интерфейс с общими константами проекта - это плохая практика и также известен как анти-паттерн интерфейса констант. Если я понял это правильно, причина была в том, что после реализации класс предоставит эти константы общественности.
Ну, я не понимаю необходимости "реализации" в первую очередь. Разве нельзя просто использовать эти статические константы напрямую? Итак, почему я должен пройти через проблему import static
когда я могу сделать что-то вроде:
interface Constants {
public static final int FOO_1 = 1;
public static final int FOO_2 = 2;
}
public class Test {
public static void main(String[] args) {
System.out.println(Constants.FOO_2);
}
}
Буду признателен за любые советы, которые помогут мне понять это немного больше.