Java uses an object-oriented approach where data and methods are bundled together as objects. A class defines the common attributes and behaviors of a group of objects. Individual objects are instantiated from classes and can interact by sending messages that invoke each other's methods. Encapsulation hides an object's internal data within itself and controls access via public methods.