As with a table definition, a class provides a template for objects that share common characteristics.

Each class can define the following: A Java object is an instance of a class and is analogous to a relational table row.

Multiple inheritance occurs when a class implements multiple interfaces.

Encapsulation describes the ability of an object to hide its data and methods from the rest of the world and is one of the fundamental principles of object-oriented programming.

Figure 1-2 illustrates how Java can maintain platform independence.

Each platform has a JVM installed that is specific to the operating system.

If you need to inherit properties from more than one source, then Java provides the concept of interfaces, which is a form of multiple inheritance. However, they define only the signature of the methods and not their implementations.

The methods that are declared in the interface are implemented in the classes.Figure 1-3 illustrates how Oracle Java applications reside on top of the Java core class libraries, which reside on top of the JVM.Because the Oracle Java support system is located within the database, the JVM interacts with Oracle Database libraries, instead of directly interacting with the operating system.The Java core class libraries are logically divided into packages that provide commonly used functionality. Together, a JVM and the core class libraries provide a platform on which Java programmers can develop applications, which will run successfully on any operating system that supports Java.This concept is what drives the "write once, run anywhere" idea of Java.When compiled, the Java code gets converted to a standard, platform-independent set of bytecodes, which are executed by a Java Virtual Machine (JVM).