ArrayList的多态性,ArrayList多态性
分享于 点击 33745 次 点评:264
ArrayList的多态性,ArrayList多态性
import java.util.*;
public class TestGenerics3
{
public static void main(String [] args)
{
new TestGenerics3().go();
}
public void go()
{
ArrayList<Animal> animals=new ArrayList<Animal>();
animals.add(new Dog());
animals.add(new Cat());
animals.add(new Dog());
takeAnimals(animals);
ArrayList<Dog> dogs=new ArrayList<Dog>();
dogs.add(new Dog());
dogs.add(new Dog());
takeAnimals(dogs);
}
public void takeAnimals(ArrayList<? extends Animal> animals)
{
for(Animal a:animals)
a.eat();
//animals.add(new Cat());不可以
}
}
abstract class Animal
{
void eat()
{
System.out.println("animal eating");
}
}
class Dog extends Animal
{
void bark(){}
}
class Cat extends Animal
{
void meow(){}
}
相关文章
- 暂无相关文章
用户点评