title: toString(), equals(), and hashCode() in an interface
body: <p>So, I have an interface with a bunch of methods that need to be implemented, the method names are irrelevant.</p>
  
  <p>The objects that implement this interface are often put into collections, and also have a special toString() format that I want them to use.</p>
  
  <p>So, I thought it would be convenient to put hashCode(), equals(), and toString() into the interface, to make sure that I remember to override the default method for these. But when I added these methods to the interface, the IDE/Compiler doesn't complain if I don't have those three methods implemented, even though I explicitly put them in the interface.</p>
  
  <p>Why won't this get enforced for me? It complains if I don't implement any of the other methods, but it doesn't enforce those three. What gives? Any clues?</p>