Classes
Okay, so now that we understand the most basic Java syntax it is time to learn how object-oriented design is implemented in Java.
The basic unit of object-orientation in Java is the class.
The class is often described as a blueprint for an object.
It allows a programmer to define all of the properties and methods that internally define an object, all of the API methods that externally define an object, and all of the syntax necessary for handling encapsulation, inheritance and polymorphism.
In its role as a blueprint, the class specifies what an actual object will look like.
But it is not an object.
When a Java virtual machine creates an actual object from the class' blueprint, it is said to create an "instance" (or instantiate) of the class.
Thus, the blueprint is used to actualy create an object which is stored in the computer's memory.
Once instantiated, an object will be able to utilize the methods and fields defined by its class.
|
Many people use the following metaphors to describe the relationship between a class and an object:
You can think of a class as a cookie cutter and an instance as an actual cookie.
Similarly, you can think of a class as a blueprint of a house and an instance as an actual house.
|
It is also important to know that more than one instance can be fabricated from the same class during the execution of a program.
What's more, each of these instances has its own copy of methods and fields so that over the life of the program each can grow independently.
Thus, for example, a Buton class might be used to instantiate two buttons in a program.
Once instantiated, each Button has its own "Label" field and its own Background Color field.
During the program, one button might be set to be Blue and to say: "Hello Cyberspace".
Another might be set to be red and say: "Hello Selena."
Both remain Button objects, because they are based upon the Button class, but they gain unique features as uniquely instantiated objects.
You can compare two objects to see if they are built from the same class by using the "instanceof" keyword such as in the following example:
if (someObject instanceOf Button)
{
...do something....
}
|
NEXT
Selena Sol contributes to the JavaBoutique's Introduction to Java. Selena curently works for Barclays Capital in London, one of the leading global investment banks in Europe and has worked as a software developer for the National Center for Human Genome research, Microline Software, Neuron Data, and Electric Eye in Singapore. Selena is perhaps best-known for creating the Public Domain Web Script Archive (Extropia) and writing several books on Web Programming (Perl, CGI, Java).
Email: selena@extropia.com
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|