В C ++ частное наследование фактически означает: реализовано в терминах
т.е. это метод реализации, используемый, когда у вас есть 2 класса, у которых нет отношения is-a , но требуется доступ к защищенным элементам или необходимо переопределить его виртуальные функции.
Таким образом, по этому определению вы можете сделать это в Java, просто расширяя класс или используя композицию.
Синтаксис private просто недоступен, но вы можете получить тот же результат