Master Object-Oriented Programming with Java — classes, objects, inheritance, polymorphism, encapsulation, and abstraction.