Java Programming Language:

Classes vs. Interfaces