Как может отрабатывать метод isDogNear(Dog dog) класса Cat, если он вызывает private метод класса Dog? Ведь если метод getSpeed() помечен как "private" - то к нему нет доступа из других классов...