Полиморфизм времени выполнения в java | Кодементор
Как правило, полиморфизм означает способность проявляться во многих формах. Это относится к способности объекта принимать множество форм. Полиморфизм необходим, когда ссылка на родительский класс используется для ссылки на объект дочернего класса.
В Java есть два типа полиморфизма: полиморфизм времени компиляции и полиморфизм времени выполнения. Мы можем реализовать полиморфизм путем перегрузки и переопределения методов.
Полиморфизм времени выполнения:
Переопределение метода — это полиморфизм времени выполнения. Имя и параметр должны быть одинаковыми. При переопределении метода метод вызывается во время выполнения.
он выполняется во время выполнения, поскольку компилятор не знает, какой метод будет выполняться, будь то метод базового класса или метод производного класса.
class Animal{
public void eat(){
print "animal eating";
}
}
class Dog extends Animal{
public void eat(){
print "dog eating";
}
}
Animal animal1 =new Animal();
animal1.eat(); // output: animal eating
Animal.animal2 = new Dog(); // it's called ****upcasting
animal2.eat(); // output: dog eating
Dog dog = new Animal(); //****Invalid (Reference variable can't point parent class)
Преобразование
Если ссылочная переменная родительского класса ссылается на объект дочернего класса, это называется повышением приведения.