Не каждый язык может похвастаться столь сомнительными особенностями. Но одни из самых известных в настоящее время языков программирования вполне предоставляют такую возможность.
Дело в том, что обход таких коренных ограничений полезен при написании разного рода системных средств, дебагеров и т.д.
Задача следующая: предоставить код, который получает доступ ко всем private, protected полям и методам любого другого объекта, не являющегося родителем первого конечно.
В большинстве случаев это делается с помощью механизма/средств рефлекции(reflection).