Почему переопределенный метод дочернего класса должен быть не менее доступным чем в родительском с точки зрения JVM?
В книге написано, что нельзя указать методу, который переопределяшь, статус private, если у родительского public. С точки зрения компилятора это норм, а вот jvm уже наткнется на проблему. Что может случиться если так сделать, с точки зрения jvm ?
Потому что LSP(принцип подстановки Барбары Лисков). Там, где вы используете базовый класс, вы должны мочь использовать потомков. Если сделать более строгий доступ, этот принцип нарушается.