Я как-то уже писал статьи о том, что нового добавилось в Java 9. Но тогда я упустил один важный момент: начиная с девятой версии Java, в интерфейсах можно описывать приватные методы. Учитывая, что с Java 8 в интерфейсах появились
default-методы, то получаем довольно сильную функциональность на текущий момент. Ещё переменные экземпляров добавить и будет совсем как в полноценных классах.