This document provides an overview of object-oriented programming concepts in Java including classes, objects, encapsulation, inheritance, polymorphism and libraries. Key points include: - Classes act as a blueprint for objects with properties and behaviors defined through fields and methods. - Objects are instantiated from classes using the new keyword and represent unique instances of the class. - Encapsulation protects data by restricting access to fields and providing public getters/setters. - Inheritance allows new classes to extend existing classes, inheriting properties and behaviors while also allowing customization. - Libraries provide reusable code through APIs while hiding implementation details from clients.