I found this series of articles which were extremely informative.
- Part 1: Learn how to declare classes and create objects
- Part 2: Declare and access fields and methods
- Part 3: Composition: Build objects from other objects
- Part 4: Inheritance: Build objects in layers
- Part 5: The root of all classes
- Part 6: Use interfaces for safe multiple inheritance and a great deal more
- Part 7: Learn about Java’s many shapes and find out how to accommodate generalities in your class hierarchies