package class2_Lab_StaticVariablesAndMethods; import java.util.ArrayList; public class Animal { private String name; private static ArrayList names = new ArrayList(); /** * Create a new animal. * @param name display name of the animal */ public Animal(String name) { names.add(name); if(name.length() >0) { this.name = name; } else { this.name = "UNDEFINED"; } } /** * The distance forward from some point * in meters */ private double location; /** * Say something */ public void speak() { System.out.println("(Doesn't say anything)"); } /** * Simulate animal running * @param dist distance to run forward (meters) */ public void runForwardMeters(double dist) { location += dist; } public static void printAllNames() { for(String name: names) { System.out.println("Name: "+name); } } public boolean equals(Object o) { boolean result; if(o instanceof Animal) { Animal animal = (Animal) o; result = this.location == animal.location; } else { result = false; } return result; } }