Как это называется? "позволяет программисту вызывать метод на подклассе, даже если у них есть только ссылка на суперкласс"

Я думаю, что это полиморфизм или наследование. И могу ли я привести пример.

2 ответа

public class ParentClass {
 public void doSomething() {
 System.out.println("Parent Class Method");
 }
}

public class ChildClass extends ParentClass {
 public void doSomething() {
 System.out.println("Child Class Method");
 }
}

Теперь в основном коде вы можете сделать следующее:

ParentClass class = new ChildClass();
class.doSomething();

Это напечатает "Метод дочернего класса", потому что метод ChildClass переопределяет метод ParentClass.

  • "ChildClass extends ParentClass" - пример наследования.
  • "Класс Parentclass= новый ChildClass();" является примером полиморфизма.

Все еще запутался?


Ваш частный случай известен как динамический полиморфизм. (Перегрузка метода была бы случайным полиморфизмом).

licensed under cc by-sa 3.0 with attribution.