If you've never used an object-oriented programming language before,
you'll need to learn a few basic concepts before you can begin writing
any code. This lesson will introduce you to objects, classes,
inheritance, interfaces, and packages. Each discussion focuses on how
these concepts relate to the real world, while simultaneously providing
an introduction to the syntax of the Java programming language.
An object is a software bundle of related state and behavior.
Software objects are often used to model the real-world objects that you
find in everyday life. This lesson explains how state and behavior are
represented within an object, introduces the concept of data
encapsulation, and explains the benefits of designing your software in
this manner.
A class is a blueprint or prototype from which objects are created.
This section defines a class that models the state and behavior of a
real-world object. It intentionally focuses on the basics, showing how
even a simple class can cleanly model state and behavior.
Inheritance provides a powerful and natural mechanism for organizing
and structuring your software. This section explains how classes inherit
state and behavior from their superclasses, and explains how to derive
one class from another using the simple syntax provided by the Java
programming language.
An interface is a contract between a class and the outside world.
When a class implements an interface, it promises to provide the
behavior published by that interface. This section defines a simple
interface and explains the necessary changes for any class that
implements it.
A package is a namespace for organizing classes and interfaces in a
logical manner. Placing your code into packages makes large software
projects easier to manage. This section explains why this is useful, and
introduces you to the Application Programming Interface (API) provided
by the Java platform.
Use the questions and exercises presented in this section to test
your understanding of objects, classes, inheritance, interfaces, and
packages.