Why do you have to override all methods of an interface?
For instance if I have
public class Foo extend JFrame implements ActionListener, KeyListener {
Interfaces have no default implementation. If you weren't forced to implement each method in the interface, then what would happen when some other code tries to call these methods through the interface?