Java is an object-oriented programming language (OOP). Older programing languages (procedural) followed a list of steps it had to go through to produce output. Java uses objects (created by the user). These objects are portable between applications. The Java object consists of a state and related behavior. The object stores its state in fields. The object transmits its behavior through methods. Methods interact with an objects internal state. Methods allows for object to object communication as well. This shields the objects internal state. All interaction of objects is accomplished with methods. This IS data encapsulation. This is the basic principal of OOP.
Within the JVM, objects operate. Objects can be modular, and can be passed around inside the system.
If an object behaves badly in debugging, it can be pulled out and a new one plugged in. This allows Java programs to be fixed without large rewrites of linier code (C++).
A Class is the blueprint or template that describes the state of the object. Classes contain local variables, Instance variables, and class variables. A class can use a number of different methods to access the