Я считал "Эффективный Java" Joshua Bloch и удалил 'Постоянный Интерфейсный антишаблон' из нашего приложения. Прием должен использовать класс Non-instantiable util, конструктор которого является частным, и определите все константы как 'общедоступный статический финал'
Я должен расширить этот постоянный util класс. Я могу только сделать это, когда я изменяю конструктора на защищенный.
Мог кто-то предлагать лучший путь.
public class Constants {
private Constants () {} // Prevent instantiation
public static final String MyString = "MyString";
}
public class MyConstants extends Constants {
private MyConstants () {} // Compiler error : Implicit super constructor Constants() is not visible.
public static final String MySecondString = "MySecondString";
}