Seit Java 9 müssen die statischen und Default-Methoden nicht mehr public sein, sie können auch private sein. Das ist gut, denn das beugt Codeduplikate vor; mit privaten Methoden können Programmteile innerhalb der Schnittstelle ausgelagert werden. Private Methoden bleiben natürlich in der Schnittstelle und werden nicht in die implementierenden Klassen vererbt.