
Переопределение (overriding)
В терминах ООП переопределение значит перезапись функционала существующего метода. Если класс наследует метод из своего суперкласса, тогда есть шанс переопределить взятый метод, если он не помечен final.
Преимущество в Java переопределения заключается в том, что оно позволяет определять (описывать) поведение, характерное для типа подкласса, значит подкласс может реализовать метод родительского класса на основе своих требований.
В примере вы можете заметить, что b хоть и является типом Animal, оно запускает метод move в классе Dog. Причина тому такая, что во время компиляции проходит проверка ссылочного типа. Но во время выполнения JVM определяет тип объекта и запускает метод, который принадлежит этому конкретному объекту.
Следовательно, программа запустится правильно, так как класс Animal имеет метод move. Затем, во время выполнения, он запускает метод, принадлежащий этому объекту.
В терминах ООП переопределение значит перезапись функционала существующего метода. Если класс наследует метод из своего суперкласса, тогда есть шанс переопределить взятый метод, если он не помечен final.
Преимущество в Java переопределения заключается в том, что оно позволяет определять (описывать) поведение, характерное для типа подкласса, значит подкласс может реализовать метод родительского класса на основе своих требований.
В примере вы можете заметить, что b хоть и является типом Animal, оно запускает метод move в классе Dog. Причина тому такая, что во время компиляции проходит проверка ссылочного типа. Но во время выполнения JVM определяет тип объекта и запускает метод, который принадлежит этому конкретному объекту.
Следовательно, программа запустится правильно, так как класс Animal имеет метод move. Затем, во время выполнения, он запускает метод, принадлежащий этому объекту.