Class is a blueprint that represents common objects and contains their shared elements. An object is an instance of a class that has a specific state and behavior. Java supports object-oriented programming concepts like encapsulation, inheritance, and polymorphism. It is a popular language that is hardware independent, allowing programs to run on different platforms.