Что такое параметрический полиморфизм в Java (на примере )?

Насколько я понимаю, параметрический полиморфизм — это метод, который позволяет выполнять унифицированные действия над различными типами данных (). Верны ли мои знания?

Является ли этот пример параметрическим полиморфизмом? Я полагаю, что это связано с тем, что Animal.talk позволяет говорить, несмотря на конкретный тип животного (Кошка или Собака ).

public interface Animal
{
  public String talk();
}

public class Cat implements Animal
{
  public String talk()
  {
    return "Cat says Meow!";
  }
}

public class Dog implements Animal
{
  public String talk()
  {
    return "Dog says Woof! Woof!";
  }
}

import java.util.*;

public class PolymorphismExample
{
  public static void main(String[] args)
  {
    Collection<Animal> animals = new ArrayList<Animal>();
    animals.add(new Cat());
    animals.add(new Dog());
    for (Animal a : animals)
    {
      System.out.println(a.talk());
    }
  }
}

С уважением.

изменить :если мой пример не демонстрирует параметрический полиморфизм, не могли бы вы предоставить его? Спасибо.

16
задан Danny Rancher 16 April 2012 в 18:29
поделиться