Мне нужно final
полей как мое приложение config constants
.singleton, static или interface как поля констант?
Я знаю 3 способа, но я не знаю, какой из них является лучшим и и что такое поведение JVM в этом случае (в перспективе вопросов Managment памяти и памяти)
1. с использованием статических полей
public class Constants {
public static final String URL = "https://www.google.com";
}
//usage
Constants.URL
2. Использование интерфейсов
public interface Constants {
String URL = "https://www.google.com";
}
//usage
Constants.URL
3. используя одноэлементный шаблон проектирования (нестатический)
public class Constants {
public final String URL = "https://www.google.com";
}
//usage
public static Constants instance = new Constants();
Constants.instance.URL;
Рекомендуемый способ сделать это - включить константы, которые применяются к классу/интерфейсу непосредственно в этом определении класса/интерфейса. Примерами этого являются интерфейсы/классы, такие как «Календарь» и «GridBagConstraints». – ControlAltDel
Разница в потреблении памяти незначительна, вам нужно будет решить другие критерии. – meriton