Interfaces
- Interface is Java's version of multiple inheritance (extends one Class implements many Interface)
- every interface is implicitly abstract, class implements an Interface must provide implementations for its abstract methods
- e.g. public void actionPerformed(ActionEvent e) {} of ActionListener
- all methods in an interface are implicitly public and abstract.

- all data fields in an interface are implicitly public, static, and final.
- example

- Student implements Comparable