Interface
abstract class contains:
- some implemented methods - die();
- some unimplemented methods - talk();
interface is all abstract
- don't need to specify methods as abstract
- no method implementation or fields allowed
- just "interface", the exposed methods
boolean hasMoreElements();
Object nextElement() throws NoSuchElementException;
class Permute implements Enumeration {