Java is an object-oriented programming language developed by Sun Microsystems in 1991. It uses classes and objects, inheritance, polymorphism, abstraction, and encapsulation. A class defines the data and methods that characterize objects of that class. Inheritance allows a derived class to inherit attributes and behaviors from the base class. Polymorphism allows one interface and multiple implementations. Encapsulation wraps data and methods together as a single unit to hide unnecessary details.