public class ComparableDog implements Animal, Comparable { private int burriedBonesCount; private String animalName; public ComparableDog(String nameIn) { animalName = nameIn; burriedBonesCount = 0; } public String getName() { return animalName; } public void setName(String nameIn) { animalName = nameIn; } public String makeSound() { return "woof"; } public String toString() { return animalName; } public int compareTo(Object other) { Animal localAnimal = (Animal)other; return this.getName().compareTo(localAnimal.getName()); } public void buryBone() { burriedBonesCount++; } public int howManyBones() { return burriedBonesCount; } public boolean equals (Object other) { //A variation on the one shown Monday - better or worse? if (other == null) { return false; } else if (this.getClass()!=other.getClass()) { return false; } else { ComparableDog casted = (ComparableDog)other; return ( (animalName.equals(casted.animalName)) && (burriedBonesCount == casted.burriedBonesCount) ); } } } //Copyright 2010-2012 : Evan Golub