If your global class is CREATE PRIVATE, leave the CONSTRUCTOR public
CLASS /clean/some_api DEFINITION PUBLIC FINAL CREATE PRIVATE.
PUBLIC SECTION.
METHODS constructor.We agree that this contradicts itself.
However, according to the article
Instance Constructor of the ABAP Help,
specifying the CONSTRUCTOR in the PUBLIC SECTION is required to guarantee correct compilation and syntax validation.
This applies only to global classes. In local classes, make the constructor private, as it should be.