PMF - это класс, для которого не нужно создавать экземпляры, поскольку у него нет состояния или методов экземпляра, он строго предназначен для предоставления статических методов и глобального состояния.
Элемент 4 в Effective Java предоставляет эту идиому, однако она не добавляет, что класс должен быть окончательным, поскольку в любом случае было бы невозможно создать его подкласс с помощью частного конструктора. И там явно рекомендуется документировать приватный конструктор, чтобы избежать именно той путаницы, которую вы испытываете.
Кроме того, этот пример кода предоставляет статическую инициализацию обходной путь для двойной проверки блокировки.