Now, we will declare an abstract class named SocialAnimal
that implements both the previously defined Sociable
interface and the Comparable<Sociable>
interface. The latter makes it possible to compare two objects of the Sociable
type. In order to implement the Comparable<Sociable>
interface, we must implement the compareTo
method that receives a Sociable
instance and will return the results of comparing their age values. In addition, the class will override the equals
method inherited from the java.lang.Object
class. We will explain the code for this complex method later, when we review the code for the class. We can read the class declaration as "the SocialAnimal
class implements both the Sociable
and the Comparable
of Sociable
interfaces."
The SocialAnimal
abstract class has too many lines of code, and therefore, we will use three code snippets instead of just one. The following lines show the first code snippet for the...