When teaching interfaces and classes,
I stress that it is important that
each interface-class has:
-
methods called
equals,
hashCode,
toString,
and (if appropriate) a method called
compareTo;
-
a constructor that initializes the object from a parameter of type
String;
-
get methods;
-
set methods (if appropriate);
-
some means for cloning an object.