Это альтернативный способ создания нового объекта в Java. Традиционно конструкторы - это путь, но поскольку есть несколько преимуществ использования статической фабрики, она предпочтительнее простых ванильных конструкторов.
Тебе действительно стоит выбрать «Эффективную Java» Джошуа Блоха. Это первый пункт в книге. Предпочитая статическую фабрику для конструктора. Преимущества, которые он упоминает:
1_ Поскольку статические фабрики имеют имена, которые могут быть описательными.
2_ Затем можно вернуть любой подтип, а не только тип определенного класса.
3_ С фабричным методом вы можете обрабатывать такие понятия, как кэширование и синглтоны. (вам не нужно слепо создавать новый объект).
4_ Чтобы уменьшить код инициализации. Например, вместо List newList = new ArrayList, у нас может быть такой метод, как getStringList ();
Четвертое преимущество - это то, к чему я не особенно прихожу, но я вижу, что Google Guava Framework это реализовал. Это одна из лучших книг по программированию для Java.