Пока some have asked this question before, это было до того, как была выпущена Java 8.Почему Java 8 не позволяет членам интерфейса быть закрытыми?
Раньше статические элементы не допускались, поскольку детали реализации не должны определяться в интерфейсе. Именно поэтому ничто не должно быть частным, потому что разработчику интерфейса нужно будет предоставить детали реализации.
Этот вид изменен с Java 8, не так ли? Метод по умолчанию определяет детали реализации, а также статические методы. Почему же это еще не разрешено?
Если кто-то надеялся e JLS скажет, почему, [это не так] (http://docs.oracle.com/javase/specs/jls/se8/html/jls-9.html#jls-9.5). Он просто говорит, что вы не можете объявлять членов 'protected' или' private'. –