Блин тема ООП пройдена, а я уже все забыл, хотя скорее всего не понял до конца. Помогите разобраться. У нас есть
class Animal{...}
и
class Cat extends Animal{...}
в чем разница объявления переменных:
Animal mursik =new Cat()
Cat mursik =new Cat()
зачем мы берем тип Animal в первом случае, ведь во втором случае мы тоже можем получить доступ к методам предка, если не переопределим какой-то из методов родителя в чем тогда разница этих объявлений ?