import java.util.ArrayList; abstract class Animal { private String species; public Animal() { } abstract public String makeNoise(); final public String move(int numSteps) { String newString = ""; while (numSteps > 0) { newString += "tramp "; numSteps--; } return newString; } public static void main(String args[]) { Animal cow = new Cow(); Animal bird = new Bird(); Duck duck = new Duck(); Bear bear = new Bear(); ArrayList zoo = new ArrayList(); zoo.add(bird); zoo.add(duck); zoo.add(cow); zoo.add(bear); generateCacaphony(zoo); } static void generateCacaphony(ArrayList zoo) { for (int i=0; i< zoo.size(); i++) { System.out.println(zoo.get(i).makeNoise()); } } }