Я использую интерфейс для объявления констант, поскольку они являются публичными статическими окончательными. Много раз я видел, как люди пишут класс с общедоступными статическими конечными постоянными переменными, и иногда я делал то же самое. Какая из них - лучшая практика для реализации, Интерфейс или использование класса?Использование интерфейса для объявления констант или класса
public class MyCodeConstants {
public static final String VALUE_1 = "VALUE1";
public static final String VALUE_2= "VALUE2";
}
или
public interface MyCodeConstants {
public static final String VALUE_1 = "VALUE1";
public static final String VALUE_2= "VALUE2";
}
которых один ЛУЧШИЙ практика состоит в использовании и почему ??
почему вы хотите константы, определенные в интерфейсе? Похоже, что выставлять механику системы в интерфейсе как ненужную деталь. –
Вы действительно хотите, чтобы клиенты реализовали этот интерфейс? Использование 'interface' для побочного эффекта принудительного публичного статического финала не является достаточно хорошей причиной. (действительно, используйте 'enum') – roippi
@ T McKeown. Я хочу знать, какая из них является лучшей практикой и причиной для этого. даже если я сделаю константы в классе, это будет не то же самое, что «разоблачить механику системы как ненужную деталь». –